类 JobSynchronizationManager
- java.lang.Object
- org.springframework.batch.core.scope.context.JobSynchronizationManager
public class JobSynchronizationManager extends java.lang.Object
Central convenience class for framework use in managing the job scope context. Generally only to be used by implementations ofJob
. N.B. it is the responsibility of everyJob
implementation to ensure that aJobContext
is available on every thread that might be involved in a job execution, including worker threads from a pool.- 从以下版本开始:
- 3.0
- 作者:
- Dave Syer, Jimmy Praet, Mahmoud Ben Hassine
构造器概要
构造器 构造器 说明 JobSynchronizationManager()
方法概要
所有方法 静态方法 具体方法 修饰符和类型 方法 说明 static void
close()
Method for unregistering the current context - should always and only be used by in conjunction with a matchingregister(JobExecution)
to ensure thatgetContext()
always returns the correct value.static JobContext
getContext()
Getter for the current context if there is one, otherwise returnsnull
.static JobContext
register(JobExecution JobExecution)
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.static void
release()
A convenient "deep" close operation.
构造器详细资料
JobSynchronizationManager
public JobSynchronizationManager()
方法详细资料
getContext
@Nullable public static JobContext getContext()
Getter for the current context if there is one, otherwise returnsnull
.- 返回:
- the current
JobContext
ornull
if there is none (if one has not been registered for this thread).
register
public static JobContext register(JobExecution JobExecution)
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.- 参数:
JobExecution
- the step context to register- 返回:
- a new
JobContext
or the current one if it has the sameJobExecution
close
public static void close()
Method for unregistering the current context - should always and only be used by in conjunction with a matchingregister(JobExecution)
to ensure thatgetContext()
always returns the correct value. Does not callJobContext.close()
- 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 step actually ended.
release
public static void release()
A convenient "deep" close operation. Call this instead ofclose()
if the step execution for the current context is ending. Delegates toJobContext.close()
and then ensures thatclose()
is also called in a finally block.