CallableTaskletAdapter Spring Batch
Posted
技术标签:
【中文标题】CallableTaskletAdapter Spring Batch【英文标题】: 【发布时间】:2020-08-26 19:17:05 【问题描述】:CallableTaskletAdapter 是否使用与步骤本身不同的线程?
@Bean
public Callable<RepeatStatus> callableObject()
return () ->
System.out.println(Thread.currentThread().getName());
System.out.println("This was executed in another thread");
return RepeatStatus.FINISHED;
;
@Bean
public CallableTaskletAdapter tasklet()
CallableTaskletAdapter callableTaskletAdapter =new CallableTaskletAdapter();
callableTaskletAdapter.setCallable(callableObject());
return callableTaskletAdapter;
@Bean
public Step callableStep()
System.out.println(Thread.currentThread().getName());
return this.stepBuilderFactory.get("callableStep")
.tasklet(tasklet())
.build();
运行此代码会在可调用的 tasklet 中将线程名称打印为“main”。这意味着它没有使用新线程。我错过了什么吗?
【问题讨论】:
【参考方案1】:CallableTaskletAdapter 是否使用与步骤本身不同的线程?
不,它不使用单独的线程。它callsCallable#call
使用执行tasklet的线程。
【讨论】:
以上是关于CallableTaskletAdapter Spring Batch的主要内容,如果未能解决你的问题,请参考以下文章
带有 WSUS 3.1 SP2 的移动设备管理器 2008 SP1