@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.