2017-10-16 5 views
0

spring 기반 서버 응용 프로그램에서 작업 중입니다. 기본적으로 그것은 매우 짧은 간격으로 다양한 스포츠 이벤트의 점수를 폴링하여 db로 저장합니다. 폴링의 경우, api 콜이 3 초 간격으로 5 초 간격으로 여러 번 (예 : 약 100 회) 다른 apis에 동시에 호출됩니다. 서버는 빈번한 간격으로 최신 데이터를 폴링합니다.봄 - 예약 된 작업을 동적으로 추가 및 제거

이러한 호출은 동적으로 추가되거나 제거됩니다. 나는 봄을 사용하는 데 거의 경험이 없다. 몇 가지 스케줄러를 사용해야한다고 생각합니다. 누구든지 어떤 방향으로 접근 할 수 있는지 또는이 시나리오에서 가장 적합한 스케줄러를 가리킬 수 있습니까?

답변

1

여기에 @Scheduled 스프링 주석을 사용할 수 있습니다. 예를 들어 link을 참조하십시오. 본질적으로

+0

감사를 볼 수 있습니다

@Configuration public class MyApplicationConfiguration { @Bean public ThreadPoolTaskScheduler threadPoolTaskScheduler() { ThreadPoolTaskScheduler tpts = new ThreadPoolTaskScheduler(); // maybe configure it a little? return tpts; } @Bean public MyService myService() { return new MyService(); } } class MyService { @Autowired private ThreadPoolTaskScheduler tpts; public void doSomething() { Runnable task = ... tpts.scheduleWithFixedDelay(task, 1000); } } 

스케줄링 작업 실행의 인스턴스를 주입 할,하지만 난 그것을 동적 아니라고 생각 . 런타임에 작업을 추가하거나 제거 할 수 없습니다. – anujprashar