Şu satırı dahil ederiz
import org.springframework.scheduling.annotation.SchedulingConfigurer;
SpringScheduling kullanırken daha fazla kontrol istersek bu sınıfı kullanmak gerekir. Açıklaması şöyle.
configureTasks metoduWhen more control is desired, a @Configuration class may implement SchedulingConfigurer. This allows access to the underlying ScheduledTaskRegistrar instance.
ScheduledTaskRegistrar sınıfı yazısına bakabilirsiniz.
Örnek
Şöyle yaparız. Burada SpringScheduling tarafından kullanılacak yeni bir thread pool tanımlanıyor
Aslında Spring kapanırken thread pool da düzgün kapansın istiyorsak destroyMethod belirterek şöyle yaparızimport org.springframework.scheduling.annotation.SchedulingConfigurer;import java.util.concurrent.Executor;import java.util.concurrent.Executors;import org.springframework.scheduling.config.ScheduledTaskRegistrar;@Configurationpublic class SchedulerConfiguration implements SchedulingConfigurer {@Beanpublic Executor taskExecutor() {return Executors.newScheduledThreadPool(100);}@Overridepublic void configureTasks(ScheduledTaskRegistrar taskRegistrar) {taskRegistrar.setScheduler(taskExecutor());}}
@Bean(destroyMethod = "shutdown")
public Executor taskExecutor() {
return Executors.newScheduledThreadPool(1);
}
Hiç yorum yok:
Yorum Gönder