2016-08-17 204 views
0

我正在使用beforeStep來調用我的ItemProcessor中的數據集,我可以使用StepExecutionListener - beforeStep內部不是ItemProcessor的一部分的公共函數嗎?Spring批處理 - StepExecutionListener

beforeStep方法是否可以使用一種常用的方法?

+0

「invoke datasets」和「common function」是什麼意思?也許你可以舉一些例子嗎? – marians27

回答

0

很抱歉,我的回覆太長,無法添加爲評論,所以回覆爲答案。

感謝您關注此事。我有一個步驟,它從csv文件中讀取並寫入到數據庫表A中。我有一個處理器,用於編寫業務邏輯。現在爲了我的業務邏輯,我需要從表B和表C中獲取值。爲了實現這一點,我將這些靜態表加載到數據集/ Map中(例如:Map initialize(Collection collection)),並在ItemProcessor中通過@ beforeStep。

我的問題是,我在我的工作中有多個步驟,它似乎我必須擊中數據庫每一步加載相同的值。我嘗試將業務邏輯與@beforeStep一起移動到另一個方法,但返回空值。這種方法是否正確或者是@BeforeStep綁定在ItemProcessor中的StepExecutionListener(公共類A1實現ItemProcessor,StepExecutionListener {)

0

我能夠解決這個問題,通過創建一個util:map用於所有依賴靜態表的bean並注入將這個bean放入處理器中。