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
Modifier and TypeFieldDescriptionstatic final String
Context key for clients to use for conversation identifier.Fields inherited from interface org.springframework.core.Ordered
HIGHEST_PRECEDENCE, LOWEST_PRECEDENCE
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionvoid
registerDestructionCallback
(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:
getTargetNamePrefix
in classBatchScopeSupport
-