【发布时间】:2020-03-23 16:37:12
【问题描述】:
我需要运行一项大型迁移工作并转换大量数据。 出于这个原因,我实现了 SimpleAsyncTaskExecutor...
ConcurrencyLimit 有什么最佳实践吗?
public final String THREAD_MAX = 10;
@Bean
public TaskExecutor taskExecutor() {
SimpleAsyncTaskExecutor asyncTaskExecutor = new SimpleAsyncTaskExecutor("spring_batch");
asyncTaskExecutor.setConcurrencyLimit(THREAD_MAX);
return asyncTaskExecutor;
}
【问题讨论】:
-
“我实现了 SimpleAsyncTaskExecutor”是什么意思?你的意思是你在你的 JobLauncher 中使用它?如果是这种情况,我真的建议使用
ThreadPoolTaskExecutor,因为SimpleAsyncTaskExecutor确实不重用线程:docs.spring.io/spring/docs/current/javadoc-api/org/…
标签: spring multithreading spring-batch