2.17.2 Handling transactions in asynchronous invocation

You can specify only the following transaction attributes in the asynchronous invocation of a Session Bean:

However, the transaction context of the client, which is the source of invocation, is not transmitted in the asynchronous method. The application developer needs to handle it as if it does not have the transmitted transaction context. For example, even if you define the Required attribute in the asynchronous method, it is processed in the same way as when the RequiresNew attribute is specified in an EJB container.

The following table describes the transactions that correspond to the specification of the transaction attribute in an asynchronous method specified on the client machine.

Table 2-57 Transactions that correspond to the specification of transaction attributes in asynchronous methods specified on the client machine

Transaction attributes specified in methodsTransaction on the client machineTransaction associated with asynchronous method
NOT_SUPPORTEDNoneNone
T1None
REQUIREDNoneT2
T1T2
REQUIRES_NEWNoneT2
T1T2
SUPPORTSNoneNone
T1None
NEVERNoneNone
T1None
MANDATORYNoneError
T1Error
Legend:
None: No transaction is specified or no transaction
T1: Transaction set by the invocation source client
T2: New transaction which is started by an EJB container