【发布时间】:2021-03-11 16:48:45
【问题描述】:
我的配置实现了 AsyncConfigurer,如下所示:
@Configuration
@EnableAsync
public class AsyncConfiguration implements AsyncConfigurer {
@Override
public Executor getAsyncExecutor() {
ThreadPoolTaskExecutor executor = new ThreadPoolTaskExecutor();
executor.setMaxPoolSize(5);
executor.setCorePoolSize(5);
executor.setQueueCapacity(500);
executor.initialize();
return executor;
}
新的线程池可以正常工作:
@Component
public class MessageJmsListener {
@Async
@EventListener
public void onApplicationEvent(CustomMessage messageJmsWrapper) {
log.info("Current thread: {}", Thread.currentThread().getName());
}
@Async
@EventListener
public void onApplicationEventSecond(SecondCustomMessage messageJmsWrapper) {
log.info("Second Listener thread: {} , Thread.currentThread().getName());
}
}
我想实现这样的效果,即为第一个侦听器提供一个单独的 bean(线程数),而为第二个侦听器提供一个单独的 bean。这样的事情可能吗?
提前致谢! 最好的问候
【问题讨论】:
标签: java spring asynchronous