[ 목차 ] 1. dependency 추가 2. liquibase shedlock 추가 3. LockProvider 설정 4. @EnableSchedulerLock 5. Task 생성 Spring에서는 Scheduling jobs들을 위한 쉬운 API를 제공합니다. 기본적으로 Spring은 여러 인스턴스에 대한 스케줄러 동기화를 처리할 수 없습니다. 대신 모든 노드에서 동시에 작업을 실행합니다. Shedlock을 사용하면 예약된 작업이 동시에 한번만 실행하게 됩니다. (Shedlock은 Quartz의 대안으로 사용되는 java lib) Dependency추가 // shedLock for gradle compile("net.javacrumbs.shedlock:shedlock-spring:2.2.0") co..
@Scheduled Scheduler는 내가 원하는 시간대에 주기적인 동작을 하기위해서 사용하기에 좋은 어노테이션이다. 1. @EnableScheduling annotation추가 TestSchedulerConfig class를 Scheduler실행 목적으로 사용하겠다 annotation을 붙여줬습니다. @Configuration : 이 어노테이션을 사용하지 않을 경우 스케쥴링이 동작하지 않습니다. spring에서 bean팩토리 설정과 관련된 어노테이션으로 IOC(의존제어역전)을 통한 객체 생성이 가능합니다. spring IOC 컨테이너가 해당 클래스를 Bean정의 소스로 사용합니다. 이를 통해 클래스 내부의 설정된 메소드들이 자동으로 돌아가도록 합니다. 2. @Scheduled 설정 @Scheduled..
springboot에서 Path를 입력 시 특수문자가 존재할 경우 텍스트 값이 짤려서 들어갑니다. 이 경우를 해결해주기 위해서는 인자 뒤에 ":.+"값을 추가해주면 됩니다. {test} -> {test:.+} import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.RestController; import lombok.extern.slf4j.Slf4j; @Slf4j @RestController public class TextTestController { @GetMap..