This may be a bug (we’re still investigating), however we do have a work around. The cause of this is that when using @EnableBatchProcessing
the StepScope
that is automatically configured assumes java config and therefore does not proxy the step scoped beans, causing them to be created too soon. The work around is to manually configure a StepScope
in your XML configuration with the following configuration:
<bean id="stepScope" class="org.springframework.batch.core.scope.StepScope">
<property name="autoProxy" value="true"/>
</bean>