Class ExecutionContext

java.lang.Object
javax.resource.spi.work.ExecutionContext
Direct Known Subclasses:
TransactionContext

public class ExecutionContext extends Object
This class models an execution context (transaction, security, etc) with which the Work instance must be executed. This class is provided as a convenience for easily creating ExecutionContext instances by extending this class and overriding only those methods of interest.

Some reasons why it is better for ExecutionContext to be a class rather than an interface:

  • There is no need for a resource adapter to implement this class. It only needs to implement the context information like transaction, etc.
  • The resource adapter code does not have to change when the ExecutionContext class evolves. For example, more context types could be added to the ExecutionContext class (in the future) without forcing resource adapter implementations to change.
Note: Resource adapters that are developed for Connectors 1.6 specification compliant application servers and above, are recommended to use the TransactionContext interface instead of this class. See Chapter.11 Generic Work Context in the Connectors 1.6 specification for more details.
  • Constructor Details

    • ExecutionContext

      public ExecutionContext()
  • Method Details

    • setXid

      public void setXid(Xid xid)
      set a transaction context.
      Parameters:
      xid - transaction context.
    • getXid

      public Xid getXid()
      Returns:
      an Xid object carrying a transaction context, if any.
    • setTransactionTimeout

      public void setTransactionTimeout(long timeout) throws NotSupportedException
      Set the transaction timeout value for a imported transaction.
      Parameters:
      timeout - transaction timeout value in seconds. Only positive non-zero values are accepted. Other values are illegal and are rejected with a NotSupportedException.
      Throws:
      NotSupportedException - thrown to indicate an illegal timeout value.
    • getTransactionTimeout

      public long getTransactionTimeout()
      Get the transaction timeout value for a imported transaction.
      Returns:
      the specified transaction timeout value in seconds. When no timeout value or an illegal timeout value had been specified, a value of -1 (WorkManager.UNKNOWN) is returned; the timeout processing of such a transaction depends on the application server implementation.