diff --git a/spring-batch-core/src/main/java/org/springframework/batch/core/scope/StepScope.java b/spring-batch-core/src/main/java/org/springframework/batch/core/scope/StepScope.java index 1283eb28e..e3af71c7e 100644 --- a/spring-batch-core/src/main/java/org/springframework/batch/core/scope/StepScope.java +++ b/spring-batch-core/src/main/java/org/springframework/batch/core/scope/StepScope.java @@ -365,11 +365,12 @@ public class StepScope implements Scope, BeanFactoryPostProcessor, Ordered { definition = holder.getBeanDefinition(); } if (definition != null) { - boolean scopeChange = !scope.equals(definition.getScope()); + String otherScope = definition.getScope(); + boolean scopeChange = !scope.equals(otherScope); if (scopeChange) { - new ExpressionHider(definition.getScope(), !scoped).visitBeanDefinition(definition); + new ExpressionHider(otherScope==null?scope:otherScope, !scoped).visitBeanDefinition(definition); // Exit here so that nested inner bean definitions are not - // analysed by both vistors + // analysed by both visitors return value; } }