-3
我使用的是Spring批处理远程分区。我的步骤不是并行运行。相反,他们顺序运行我的意思是分区的步骤顺序运行。 问题的根源是什么?远程分区:为什么步骤不能并行运行?
我使用的是Spring批处理远程分区。我的步骤不是并行运行。相反,他们顺序运行我的意思是分区的步骤顺序运行。 问题的根源是什么?远程分区:为什么步骤不能并行运行?
我对Spring Batch比较陌生,但是当我第一次尝试编写自己的分区步骤时遇到了类似的问题。
在我的情况下,问题是我的taskExecutor(这不是异步)。 我添加了一个@Bean,它初始化了一个asynTaskExecutor并将其链接到我的分区步骤。尤里卡,它的工作。
下面是一个例子:
private Step partitionStep() throws SQLException {
return stepBuilderFactory.get("example_partitionstep")
.partitioner(step.getName(), columnRangePartitioner(partitionColumn, tableName))
.partitionHandler(taskExecutorPartitionHandler(step))
.build();
}
对于步:
private Step step() throws SQLException {
return stepBuilderFactory.get("example_step")
.<>chunk(1000)
.reader(cursorItemReader(0L, 0L))
.processor(compositeItemProcessor())
.writer(itemWriter())
.build();
}
而对于TaskExecutor接口:
@Bean
public TaskExecutor taskExecutor() {
SimpleAsyncTaskExecutor taskExecutor = new SimpleAsyncTaskExecutor();
taskExecutor.setConcurrencyLimit(6);
return taskExecutor;
}
为什么你默默的看着我们? –
我不喊。我真的需要这个细节/解释。对不起,如果误解了 – Raheem
你还在静坐。看看问题的主要页面;你看到有多少个键入全部大写字母? (答案:没有,因为像互联网上的其他地方一样,输入ALL CAPS被认为是SHOUTING,而我们在这里不是SHOUT。)你不仅是SHOUTING,而且是** SHOUTING LOUDLY **它大胆。请相应地编辑你的问题。您还应该参加[导览]并阅读[帮助]页面,特别是[问]。 –