Package jakarta.ejb

Annotation Interface AccessTimeout


@Target({METHOD,TYPE}) @Retention(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:

  • A value > 0 indicates a timeout value in the units specified by the unit element.
  • A value of 0 means concurrent access is not permitted.
  • A value of -1 indicates that the client request will block indefinitely until forward progress it can proceed.
Values less than -1 are not valid.
Since:
EJB 3.1
  • Required Element Summary

    Required Elements
    Modifier and Type
    Required Element
    Description
    long
    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

    Optional Elements
    Modifier and Type
    Optional Element
    Description
    Units used for the specified value.
  • Element Details

    • value

      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.
      • A value of 0 means concurrent access is not permitted.
      • A value of -1 indicates that the client request will block indefinitely until forward progress it can proceed.
      Values less than -1 are not valid.
      Returns:
      a long.
    • unit

      TimeUnit unit
      Units used for the specified value.
      Returns:
      a TimeUnit object.
      Default:
      MILLISECONDS