类 SynchronizationManagerSupport<E,C>
- java.lang.Object
- org.springframework.batch.core.scope.context.SynchronizationManagerSupport<E,C>
public abstract class SynchronizationManagerSupport<E,C> extends java.lang.Object
Central convenience class for framework use in managing the scope context.- 从以下版本开始:
- 3.0
- 作者:
- Dave Syer, Jimmy Praet, Mahmoud Ben Hassine
构造器概要
构造器 构造器 说明 SynchronizationManagerSupport()
方法概要
所有方法 实例方法 抽象方法 具体方法 修饰符和类型 方法 说明 void
close()
Method for unregistering the current context - should always and only be used by in conjunction with a matchingregister(Object)
to ensure thatgetContext()
always returns the correct value.protected abstract void
close(C context)
protected abstract C
createNewContext(E execution, BatchPropertyContext propertyContext)
C
getContext()
Getter for the current context if there is one, otherwise returnsnull
.java.util.Stack<E>
getCurrent()
void
increment()
C
register(E execution)
Register a context with the current thread - always put a matchingclose()
call in a finally block to ensure that the correct context is available in the enclosing block.C
register(E execution, BatchPropertyContext propertyContext)
Register a context with the current thread - always put a matchingclose()
call in a finally block to ensure that the correct context is available in the enclosing block.void
release()
A convenient "deep" close operation.
构造器详细资料
SynchronizationManagerSupport
public SynchronizationManagerSupport()
方法详细资料
getContext
@Nullable public C getContext()
Getter for the current context if there is one, otherwise returnsnull
.- 返回:
- the current context or
null
if there is none (if one has not been registered for this thread).
register
@Nullable public C register(@Nullable E execution)
Register a context with the current thread - always put a matchingclose()
call in a finally block to ensure that the correct context is available in the enclosing block.- 参数:
execution
- the execution to register- 返回:
- a new context or the current one if it has the same execution
register
@Nullable public C register(@Nullable E execution, @Nullable BatchPropertyContext propertyContext)
Register a context with the current thread - always put a matchingclose()
call in a finally block to ensure that the correct context is available in the enclosing block.- 参数:
execution
- the execution to registerpropertyContext
- instance ofBatchPropertyContext
to be registered with this thread.- 返回:
- a new context or the current one if it has the same execution
close
public void close()
Method for unregistering the current context - should always and only be used by in conjunction with a matchingregister(Object)
to ensure thatgetContext()
always returns the correct value. Does not call close on the context - that is left up to the caller because he has a reference to the context (having registered it) and only he has knowledge of when the execution actually ended.
increment
public void increment()
getCurrent
public java.util.Stack<E> getCurrent()
release
public void release()
A convenient "deep" close operation. Call this instead ofclose()
if the execution for the current context is ending. Delegates toclose(Object)
and then ensures thatclose()
is also called in a finally block.
createNewContext
protected abstract C createNewContext(E execution, @Nullable BatchPropertyContext propertyContext)