試圖找到這是否曾被問過,但不能。春季批量單線程讀取器和多線程寫入器
這是問題所在。必須通過Spring批處理實現以下功能 有一個文件需要讀取和處理。物品閱讀器不是線程安全的。 該計劃是讓多線程同質處理器和多線程同質作家注入由單線程讀取器讀取的項目。沒有正在執行
----------> Processor #1 ----------> Writer #1
|
Reader -------> Processor #2 ----------> Writer #2
|
----------> Processor #3 ----------> Writer #3
試過AsyncItemProcessor和AsyncItemWriter,但保持對處理器調試點導致讀取器直到點被釋放,即單線程處理:
的像下面類。
任務執行受審象下面這樣:
<tasklet task-executor="taskExecutor" throttle-limit="20">
對讀者的多個線程進行啓動。
同步閱讀器也不起作用。
我試圖閱讀關於分區器,但它似乎很複雜。
是否有註釋將讀者標記爲單線程?將閱讀數據推向全球背景是一個好主意嗎?
請指導解決方案。
爲什麼分區過於複雜? –
感謝您的評論。 我剛看了幾分鐘,讀得越多,就越是感到困惑。 我已經歷了它的端到端,它似乎並不是我的問題的傳統解決方案,因爲我不想分割我的輸入。 我錯了嗎? – Programmer
是SynchronizedItemReader的最佳解決方案嗎? – Programmer