package alien4cloud.configuration;
import java.util.concurrent.Executor;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.scheduling.annotation.EnableAsync;
import org.springframework.scheduling.annotation.EnableScheduling;
import org.springframework.scheduling.concurrent.ThreadPoolTaskScheduler;
@Configuration
@EnableAsync
@EnableScheduling
public class SchedulingConfiguration {
@Value("${paas_monitor.threadpool_size}")
private int paasMonitorThreadPoolSize;
@Bean(name = "paas-monitor-scheduler")
public Executor getPaaSScheduler() {
ThreadPoolTaskScheduler threadPoolTaskScheduler = new ThreadPoolTaskScheduler();
threadPoolTaskScheduler.setPoolSize(paasMonitorThreadPoolSize);
threadPoolTaskScheduler.setThreadNamePrefix("paas-monitor-");
return threadPoolTaskScheduler;
}
@Bean(name = "node-type-score-scheduler")
public Executor getNodeTypeScoreScheduler() {
ThreadPoolTaskScheduler threadPoolTaskScheduler = new ThreadPoolTaskScheduler();
threadPoolTaskScheduler.setPoolSize(1);
threadPoolTaskScheduler.setThreadNamePrefix("node-type-score-");
return threadPoolTaskScheduler;
}
}