Annotation Type HttpSessionScope


@Retention(RUNTIME) @Target(TYPE) @Documented @WebServiceFeatureAnnotation(id="http://jax-ws.dev.java.net/features/servlet/httpSessionScope", bean=HttpSessionScopeFeature.class) @InstanceResolverAnnotation(HttpSessionInstanceResolver.class) public @interface HttpSessionScope
Designates a service class that should be tied to HttpSession scope.

When a service class is annotated with this annotation like the following, the JAX-WS RI runtime will instanciate a new instance of the service class for each HttpSession.

 @WebService
 @HttpSessionScope
 class CounterService {
     protected int count = 0;

     public CounterService() {}

     public int inc() {
         return count++;
     }
 }
 

This allows you to use instance fields for storing per-session state (in the above example, it will create a separate counter for each client.)

The service instance will be GCed when the corresponding HttpSession is GCed. Refer to servlet documentation for how to configure the timeout behavior.

Since:
JAX-WS 2.1
Author:
Kohsuke Kawaguchi