spring - Spring Batch - 如何将线程和网格号输出到控制台或日志
问题描述
在我的 Spring Batch 配置中,我有这个:
@Bean
public TaskExecutor taskExecutor() {
SimpleAsyncTaskExecutor taskExecutor = new SimpleAsyncTaskExecutor("myJob");
asyncTaskExecutor.setConcurrencyLimit(15);
asyncTaskExecutor.setThreadNamePrefix("SrcToDest");
return taskExecutor;
}
而且我还有一个“主步骤”,我正在设置网格大小,如下所示:
@Bean
@Qualifier("masterStep")
public Step masterStep() {
return stepBuilderFactory.get("masterStep").partitioner("step1", partitioner()).step(step1())
.taskExecutor(threadpooltaskExecutor()).taskExecutor(taskExecutor())
.gridSize(10).build();
}
就我而言,当“myjob”以“COMPLETED”状态结束时,我最后只看到“Thread-x”。
问题
为了监控如何在整个执行过程中将线程号打印到控制台/日志?即“myjob”从头到尾
有什么方法可以让输出到控制台/日志以查看网格操作吗?
我在 Spring Guides 中找不到任何示例或任何地方。
解决方案
仍在寻找如何向控制台显示网格数字
这取决于您的分区程序。您可以在分区程序中添加日志语句并显示网格大小。所以在分区的时候,它就在你身边。
在分区处理时,Spring Batch 将在每个工作步骤执行的调试级别显示一条日志语句。