com.sun.xml.ws.api.server
Class ThreadLocalContainerResolver

java.lang.Object
  extended by com.sun.xml.ws.api.server.ContainerResolver
      extended by 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 Summary
ThreadLocalContainerResolver()
           
 
Method Summary
 Container enterContainer(Container container)
          Enters container
 void exitContainer(Container old)
          Exits container
 Container getContainer()
          Returns the Container context in which client is running.
 java.util.concurrent.Executor wrapExecutor(Container container, java.util.concurrent.Executor ex)
          Used by Engine to wrap asynchronous Fiber executions
 
Methods inherited from class com.sun.xml.ws.api.server.ContainerResolver
getDefault, getInstance, setInstance
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ThreadLocalContainerResolver

public ThreadLocalContainerResolver()
Method Detail

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 java.util.concurrent.Executor wrapExecutor(Container container,
                                                  java.util.concurrent.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


Copyright (c) 1997-2012 Oracle and/or its affiliates. All rights reserved.