Class StepScope
java.lang.Object
org.springframework.batch.core.scope.BatchScopeSupport
org.springframework.batch.core.scope.StepScope
- All Implemented Interfaces:
org.springframework.beans.factory.config.BeanFactoryPostProcessor,org.springframework.beans.factory.config.Scope,org.springframework.core.Ordered
Scope for step context. Objects in this scope use the Spring container as an
object factory, so there is only one instance of such a bean per executing
step. All objects in this scope are <aop:scoped-proxy/> (no need to
decorate the bean definitions).
In addition, support is provided for late binding of references accessible from the
In addition, support is provided for late binding of references accessible from the
StepContext using #{..} placeholders. Using this feature,
bean properties can be pulled from the step or job execution context and the
job parameters. E.g.
<bean id="..." class="..." scope="step">
<property name="parent" ref="#{stepExecutionContext[helper]}" />
</bean>
<bean id="..." class="..." scope="step">
<property name="name" value="#{stepExecutionContext['input.name']}" />
</bean>
<bean id="..." class="..." scope="step">
<property name="name" value="#{jobParameters[input]}" />
</bean>
<bean id="..." class="..." scope="step">
<property name="name" value="#{jobExecutionContext['input.stem']}.txt" />
</bean>
The StepContext is referenced using standard bean property paths (as
per BeanWrapper). The examples above all show the use of the Map
accessors provided as a convenience for step and job attributes.- Since:
- 2.0
- Author:
- Dave Syer, Michael Minella
-
Nested Class Summary
Nested classes/interfaces inherited from class org.springframework.batch.core.scope.BatchScopeSupport
BatchScopeSupport.Scopifier -
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final StringContext key for clients to use for conversation identifier.Fields inherited from interface org.springframework.core.Ordered
HIGHEST_PRECEDENCE, LOWEST_PRECEDENCE -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidregisterDestructionCallback(String name, Runnable callback) This will be used to resolve expressions in step-scoped beans.Methods inherited from class org.springframework.batch.core.scope.BatchScopeSupport
createScopedProxy, getName, getOrder, postProcessBeanFactory, setAutoProxy, setName, setOrder, setProxyTargetClass
-
Field Details
-
ID_KEY
Context key for clients to use for conversation identifier.- See Also:
-
-
Constructor Details
-
StepScope
public StepScope()
-
-
Method Details
-
resolveContextualObject
This will be used to resolve expressions in step-scoped beans. -
get
- See Also:
-
Scope.get(String, ObjectFactory)
-
getConversationId
- See Also:
-
Scope.getConversationId()
-
registerDestructionCallback
- See Also:
-
Scope.registerDestructionCallback(String, Runnable)
-
remove
- See Also:
-
Scope.remove(String)
-
getTargetNamePrefix
- Specified by:
getTargetNamePrefixin classBatchScopeSupport
-