嘿,我的春季批处理应用程序上下文有点麻烦。我需要我的决策者能够查看通过作业启动器传递的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中找到我的工作参数吗?
非常感谢