我想创建一个执行程序服务,可以按以下方式使用:
@Asyn(value = "asyncService")
public void task() {
//...
}
何时应使用
@Bean
或ThreadPoolTaskExecutor
创建ThreadPoolExecutorFactoryBean
?@Bean
public ExecutorService getAsyncService() {
//when to favor ThreadPoolTaskExecutor over ThreadPoolExecutorFactoryBean
}
在任何情况下都应该偏爱一个吗?
最佳答案
除非在需要特殊处理线程的应用服务器,大型机或其他环境下运行,否则建议直接注入TaskExecutor
。就像文档所说的那样,很容易混淆您在使用哪个类。