Class ThreadContext


  • public class ThreadContext
    extends Object

    This component contains all the variables of type ThreadLocal hold by a ThreadContextHolder This component has not been designed to be thread safe so ensure that you create a new instance each time you use it. Moreover for security reason, when the SecurityManager is installed we check the RuntimePermission manageThreadLocal only within the constructor of a ThreadContext.

    Version:
    $Id$
    Author:
    Nicolas Filotto
    • Constructor Detail

      • ThreadContext

        public ThreadContext​(ThreadLocal<?>... threadLocals)
        Default constructor
        Parameters:
        threadLocals - the thread local variables whose value must be transfered from one thread to another to avoid critical issues.
        Throws:
        SecurityException - In case the security manager is installed and the calling stack doesn't have the RuntimePermission manageThreadLocal
    • Method Detail

      • store

        public void store()
        Stores into memory the current values of all the Thread Local variables
      • push

        public void push()
        Pushes values stored into memory into all the Thread Local variables and keeps previous values to be able to restore old state
      • restore

        public void restore()
        Restores the old values of all the Thread Local variables