package be.mentoringsystems.merke.config; import java.util.concurrent.Executor; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.scheduling.TaskScheduler; import org.springframework.scheduling.annotation.AsyncConfigurerSupport; import org.springframework.scheduling.annotation.EnableAsync; import org.springframework.scheduling.concurrent.ConcurrentTaskScheduler; import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor; /** * * @author anthonyarents */ @Configuration @EnableAsync public class AsyncConfiguration extends AsyncConfigurerSupport { @Bean public TaskScheduler taskScheduler() { return new ConcurrentTaskScheduler(); } @Override public Executor getAsyncExecutor() { ThreadPoolTaskExecutor executor = new ThreadPoolTaskExecutor(); executor.setCorePoolSize(2); executor.setMaxPoolSize(2); executor.setQueueCapacity(100); executor.setThreadNamePrefix("Async-"); executor.setAwaitTerminationSeconds(10); executor.initialize(); return executor; } }