2
我使用Spring Batch的一個Grails項目,我安裝了一個Grails的插件來得到它的工作:Grails的彈簧批如何在grails項目的spring批處理作業中配置監聽器?
我implemtented一個簡單的工作,有一個讀者,一個處理器和一個作家,它的工作原理精細。
但我想添加聽衆到我的工作步驟(閱讀器,處理器和作家),以便很好地處理錯誤。
但我不能讓我的聽衆使用!我想我可能會誤用用於定義bean的dsl。通過對dsl的不同嘗試,我有時會在運行時發生錯誤,或者有時沒有錯誤,但是不會使用偵聽器。
你知道grails-spring-batch插件目前是否允許定義監聽器嗎?如果是,它是如何工作的?
這裏是我的春天批次的conf,它使用Grails的插件提供的DSL:
batch.job(id: 'simpleJob') {
batch.step(id: 'myStep') {
batch.tasklet{
batch.chunk(
reader: 'myReader',
processor: 'myProcessor',
writer: 'myWriter',
'commit-interval': 1,
listeners:
batch.listener(
ref: "myReaderListener"
)
)
}
}
}
編輯:一個簡單的解決方案,我也沒多想:讓我的讀者實現ItemReadListener,帶來的onError方法,這正是我想要做的。
但是如果需要將監聽邏輯放入另一個bean中,我的問題依然存在。
不應該在塊外部但是在tasklet內部定義偵聽器嗎? –