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
-