Class ThreadLocalContainerResolver

java.lang.Object
com.sun.xml.ws.api.server.ContainerResolver
com.sun.xml.ws.api.server.ThreadLocalContainerResolver

public class ThreadLocalContainerResolver extends ContainerResolver
ContainerResolver based on ThreadLocal.

The ThreadLocalContainerResolver is the default implementation available from the ContainerResolver using ContainerResolver.getDefault(). Code sections that run with a Container must use the following pattern:

   public void m() {
     Container old = ContainerResolver.getDefault().enterContainer(myContainer);
     try {
       // ... method body
     } finally {
       ContainerResolver.getDefault().exitContainer(old);
     }
   }
 
Since:
2.2.7
  • Constructor Details

    • ThreadLocalContainerResolver

      public ThreadLocalContainerResolver()
      Default constructor.
  • Method Details

    • getContainer

      public Container getContainer()
      Description copied from class: ContainerResolver
      Returns the Container context in which client is running.
      Specified by:
      getContainer in class ContainerResolver
      Returns:
      container instance for the client
    • enterContainer

      public Container enterContainer(Container container)
      Enters container
      Parameters:
      container - Container to set
      Returns:
      Previous container; must be remembered and passed to exitContainer
    • exitContainer

      public void exitContainer(Container old)
      Exits container
      Parameters:
      old - Container returned from enterContainer
    • wrapExecutor

      public Executor wrapExecutor(Container container, Executor ex)
      Used by Engine to wrap asynchronous Fiber executions
      Parameters:
      container - Container
      ex - Executor to wrap
      Returns:
      an Executor that will set the container during executions of Runnables