javax.ejb
Annotation Type AccessTimeout


@Target(value={METHOD,TYPE})
@Retention(value=RUNTIME)
public @interface AccessTimeout

Specifies the amount of time in a given time unit that a concurrent access attempt should block before timing out.

This annotation may be applied to a stateful session bean or to a singleton session bean that uses container managed concurrency.

By default, clients are allowed to make concurrent calls to a stateful session object and the container is required to serialize such concurrent requests. The AccessTimeout annotation is used to specify the amount of time a stateful session bean request should block in the case that the bean instance is already processing a different request. Use of the AccessTimeout annotation with a value of 0 specifies to the container that concurrent client requests to a stateful session bean are prohibited.

The AccessTimeout annotation can be specified on a business method or a bean class. If it is specified on a class, it applies to all business methods of that class. If it is specified on both a class and on a business method of the class, the method-level annotation takes precedence for the given method.

Access timeouts for a singleton session bean only apply to methods eligible for concurrency locks. The AccessTimeout annotation can be specified on the singleton session bean class or on an eligible method of the class. If AccessTimeout is specified on both a class and on a method of that class, the method-level annotation takes precedence for the given method.

The semantics of the value element are as follows:

Values less than -1 are not valid.

Since:
EJB 3.1

Required Element Summary
 long value
          The semantics of the value element are as follows: A value > 0 indicates a timeout value in the units specified by the unit element.
 
Optional Element Summary
 java.util.concurrent.TimeUnit unit
          Units used for the specified value.
 

Element Detail

value

public abstract long value
The semantics of the value element are as follows: Values less than -1 are not valid.

unit

public abstract java.util.concurrent.TimeUnit unit
Units used for the specified value.

Default:
java.util.concurrent.TimeUnit.MILLISECONDS


Submit a bug or feature

Copyright © 2009-2011, Oracle Corporation and/or its affiliates. All Rights Reserved. Use is subject to license terms.

Generated on 10-February-2011 12:41