Spring batch scope issue while using spring boot
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>
Michael's comment is working for me, I am also providing JavaConfig copy-paste alternative for lazy people like me :)
@Bean
public StepScope stepScope() {
final StepScope stepScope = new StepScope();
stepScope.setAutoProxy(true);
return stepScope;
}