当使用实现 Ordered 且具有 scope="step" 的 skipListener 时,出现以下异常:
创建名称为“scopedTarget.scopedTarget.fisalisBatchMeldungenListener”的 bean 时出错:范围“步骤”对于当前线程无效;如果您打算从单例中引用它,请考虑为该 bean 定义一个作用域代理;嵌套异常是 java.lang.IllegalStateException: No context holder available for step scope
如果我不让我的侦听器实现 Ordered,则不会发生异常。
这是我的 Bean 定义:
<bean id="erzeuger" class="...." scope="step">
<property name="user" ref="user" />
<property name="termin" ref="termin" />
<property name="services" ref="services"
</bean>
<bean id="listener" class="Listenerclass" scope="step">
<property name="erzeuger" ref="erzeuger" />
</bean>
这是我使用它的部分:
<step id="myStep" parent="abstractBatchStep" xmlns="http://www.springframework.org/schema/batch">
<listeners merge="true">
<listener ref="listener" />
</listeners>
</step>
有谁知道问题出在哪里?