Spring10 Spring @Scheduled 가 동작할때 rate나 delay보다 더 늦게 메소드가 종료되면 어떻게 동작할까? 안녕하세요 졸린 개발자입니다. 오늘은 문득 궁금해진, Spring의 @Scheduled 가 동작할때 rate나 delay보다 더 늦게 메소드가 종료되면 어떻게 동작할까에 대해 알아보겠습니다. fixedDelay에서는 어떨까요? 아래 코드를 봅시다. 어떻게 동작할것 같나요? 정답을 보시죠 3초마다 동작하고 있습니다. fixedDelay의 동작은 마지막 스케쥴링 동작 이후 delay에 지정된 만큼 기다렸다가 시작합니다. 즉 2초동안 sleep + 1초동안 delay을 거쳐 3초마다 한번씩 실행이 되는 것이죠. 그럼 fixedRate를 살펴볼까요? 2초마다 실행이 되네요. 왜 2초마다 실행이 될까요? 분명 rate를 1초를 주었지 않았나요? 그 해답은 재미있게도 실제 스케쥴링을 담당하는 java의 Schedu.. 2024. 3. 2. Spring @Scheduled와 timezone 안녕하세요 졸린 개발자입니다. 오늘은 @Scheduled 어노테이션과 timezone설정에 대해 알아보겠습니다. 그렇게 현실적이지는 않지만, 뉴욕에서 서비스를 새로 런칭한다고 가정해봅시다. 그럼 기존의 스케쥴링을 하던 처리들도 뉴욕 시간으로 스케쥴링을 해야되겠죠? 그러면 어떻게 처리하면 될까요? 이렇게 zone을 지정해주면 됩니다. 하지만 아래처럼 TaskScheduler를 설정했을때에도 동작할까요? Scheduler에는 America/New_York 타임존을 지정하고, @Scheduled에는 아무것도 zone을 지정하지 않았습니다. 자, 이때에는 어떻게 동작해야할까요? 제 예상은 Scheduling을 실행하는 Scheduler의 시간이 뉴욕시간이기 때문에, 제가 사는 한국의 시간인 15:40이 아니라,.. 2024. 2. 24. Spring의 @Schduled 어노테이션으로 어느 구현체가 스케쥴링을 실행할까? 안녕하세요, 졸린 개발자입니다. Spring에서 @Schduled 어노테이션을 붙이면 스프링이 마법같이 스케쥴링을 해주는데요, 그 이면에 어떤 구현체들이 실제 스케쥴링 코드를 실행시켜주는지 한번 살펴보도록 해보겠습니다. 코드를 따라가며 하나하나 살펴봅시다. 그럼 어디서부터 코드를 봐야할까요? SpringBoot에서 스케쥴링이 동작할 수 있게, 관련 빈을 Auto configuration을 해줄테니 해당 Configuration을 한번 살펴봅시다. TaskSchedulingAutoConfiguration이라는것이 나오는군요. 주석을 보니, 제대로 찾아온게 맞는거 같군요. 하나하나 살펴보기에는 너무 글이 길어지니, 제가 관심있는 ScheduledExecutorService 관련된 설정만 글로 적겠습니다... 2024. 2. 17. Spring Security 5.7 이후 버전에서 WebSecurityConfigurerAdapter가 Deprecate됨으로 인한 대처방법 안녕하세요. 졸린개발자입니다. 오늘은 Spring Security가 5.7로 버전업이 되면서 WebSecurityConfigurerAdapter가 Deprecate됨으로 인해 많은 분들이 혼란스러우실 것으로 생각됩니다. 저도 프로젝트 진행중에 버전업을 수행하면서 문제를 파악하였고, 해결하였습니다. 그래서 해결했던 과정을 한번 공유하면 좋지 않을까 해서 포스트를 써봅니다. 정확히 언제부터 이런일이 발생한 것인가? Spring Security의 버전이 5.7이후부터 발생합니다. Spring Boot의 버전은 2.7.1일때 Spring Secuirty 5.7.2버전이 적용되고, 이러한 문제가 생깁니다. 어떤것이 문제인가? 이전까지는 Spring Security의 필터 설정등의 많은 설정을 WebSecurity.. 2022. 8. 11. 이전 1 2 3 다음