将侦听器添加到spring批判者

时间:2012-04-11 18:43:55

标签: java spring spring-batch

嘿,我的春季批处理应用程序上下文有点麻烦。我需要我的决策者能够查看通过作业启动器传递的jobParameters。对于一个普通的tasklet我会在一个方法上使用@beforeStep并通过它获取信息,我也会使用一个监听器,这样tasklet可以像这样到达@beforeStep:

    <batch:step id="verifyDatabase" next="full.incremental.decision">
        <batch:tasklet ref="verifyDatabaseTasklet" />
        <batch:listeners>
            <batch:listener ref="verifyDatabaseTasklet" />
            <batch:listener ref="PromotionListener" />
        </batch:listeners>
    </batch:step>
但是,我希望能够做出同样的决定。像这样:

    <batch:decision id="full.incremental.decision" decider="fullIncrementalDecider">
        <batch:next on="COMPLETED" to="incrementalUpdate" />
        <batch:next on="FAILED" to="fullUpdate" />
        <batch:listeners>
            <batch:listener ref="full.incremental.decision" />
        </batch:listeners>
    </batch:decision>

当我这样做时,我收到此错误

 cvc-complex-type.2.4.a: Invalid content was found starting with 
 element 'batch:listeners'. One of '{"http://
 www.springframework.org/schema/batch":next, "http://
 www.springframework.org/schema/batch":stop, "http://
 www.springframework.org/schema/batch":end, "http://
 www.springframework.org/schema/batch":fail}' is expected.

我知道这可能意味着听众不被允许做出决定?那是对的吗?无论如何我可以在JobExecutionDecider中找到我的工作参数吗?

非常感谢

0 个答案:

没有答案