spring:batch 监听器问题

spring:batch listener issue

我知道这可能是一个非常简单的修复,但出于某种原因我无法在 google 上找到任何内容。

我创建了一个接受 jobParameter 的侦听器,但由于某种原因它无法正常工作,而且我不确定我需要向我的代码中添加什么。它说我需要参考,但我需要参考什么,因为一切都在那里

    <step id="idOfJob" next="nextJob">
        <tasklet>
                <listeners>
                    <listener>
                        <beans:bean
                            class="class.class.Class"
                            scope="step">
                            <beans:property name="property" value="#{jobParameters['input']}'" />
                        </beans:bean>
                    </listener>
                </listeners>
        </tasklet>
    </step>

根据 Spring 批处理的 XSD,<listener> 元素不支持内联 bean 定义。您需要将其定义为外部 bean,然后按如下方式使用 ref:

<step id="idOfJob" next="nextJob">
    <tasklet ref="myTasklet">
            <listeners>
                <listener ref="myListener"/>
            </listeners>
    </tasklet>
</step>

<beans:bean id="myListener" class="class.class.Class" scope="step">
     <beans:property name="property" value="#{jobParameters['input']}'" />
</beans:bean>

<beans:bean id="myTasklet" class="class.class.MyTasklet"/>