-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 **它大膽。請相應地編輯你的問題。您還應該參加[導覽]並閱讀[幫助]頁面,特別是[問]。 –