嘿,我的 spring 批处理应用程序上下文有点麻烦。我需要我的决策者能够查看通过作业启动器传递的作业参数。对于普通的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 中访问我的 jobParameters 吗?
谢谢一堆