@Target(value={METHOD,TYPE})
@Retention(value=RUNTIME)
public @interface AccessTimeout
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:
>
0 indicates a timeout value in the units specified by the unit
element.
Modifier and Type | Required Element and Description |
---|---|
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. |
Modifier and Type | Optional Element and Description |
---|---|
java.util.concurrent.TimeUnit |
unit
Units used for the specified value.
|
public abstract long value
value
element are as follows:
>
0 indicates a timeout value in the units specified by the unit
element.