Class 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 of Job. N.B. it is the responsibility of every Job implementation to ensure that a JobContext is available on every thread that might be involved in a job execution, including worker threads from a pool.
    Since:
    3.0
    Author:
    Dave Syer, Jimmy Praet, Mahmoud Ben Hassine
    • Method Summary

      All Methods Static Methods Concrete Methods 
      Modifier and TypeMethodDescription
      static voidclose()
      Method for unregistering the current context - should always and only be used by in conjunction with a matching register(JobExecution) to ensure that getContext() always returns the correct value.
      static JobContextgetContext()
      Getter for the current context if there is one, otherwise returns null.
      static JobContextregister​(JobExecution JobExecution)
      Register a context with the current thread - always put a matching close() call in a finally block to ensure that the correct context is available in the enclosing block.
      static voidrelease()
      A convenient "deep" close operation.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • JobSynchronizationManager

        public JobSynchronizationManager()
    • Method Detail

      • getContext

        @Nullable
        public static JobContext getContext()
        Getter for the current context if there is one, otherwise returns null.
        Returns:
        the current JobContext or null 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 matching close() call in a finally block to ensure that the correct context is available in the enclosing block.
        Parameters:
        JobExecution - the step context to register
        Returns:
        a new JobContext or the current one if it has the same JobExecution
      • close

        public static void close()
        Method for unregistering the current context - should always and only be used by in conjunction with a matching register(JobExecution) to ensure that getContext() always returns the correct value. Does not call JobContext.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 of close() if the step execution for the current context is ending. Delegates to JobContext.close() and then ensures that close() is also called in a finally block.