3.4.5 Transaction operations during system exceptions

During an EJB invocation, the behavior of the invocation source transaction when a system exception occurs at the invocation destination varies as follows depending on the system definition.

Organization of this subsection
(1) When the invocation destination inherits the invocation source transaction (when the transaction attributes of the invocation destination are Required, Supports, and Mandatory of the CMT)
(2) When the invocation destination does not inherit the invocation source transaction (when the transaction attributes of the invocation destination are BMT, or NotSupported, RequiresNew, and Never of the CMT)

(1) When the invocation destination inherits the invocation source transaction (when the transaction attributes of the invocation destination are Required, Supports, and Mandatory of the CMT)

If a system exception is returned at the invocation destination, the transaction is rolled back by the container. This operation is defined in the EJB specifications.

(2) When the invocation destination does not inherit the invocation source transaction (when the transaction attributes of the invocation destination are BMT, or NotSupported, RequiresNew, and Never of the CMT)

The invocation source and invocation destination transactions respectively operate as follows:

Invocation source transaction
  • During remote invocation in the EJB remote interface
    When the light transaction is disabled:
    The OTS marks the transaction for roll back.
    When the light transaction is enabled:
    The transaction is not marked for roll back.
  • During local call optimization in the EJB remote interface
    The operation differs based on the value of the ejbserver.distributedtx.rollbackClientTxOnSystemException key in usrconf.properties.
    If true:
    The transaction is marked for roll back.
    If false:
    The transaction is not marked for roll back.
  • During the invocation of the EJB local interface
    The transaction is marked for roll back.
Invocation destination transaction
The transaction is rolled back by the container. This operation is defined in the EJB specifications.

For details on the local call optimization, see 2.13.1 Local call optimization in the EJB remote interface in the uCosminexus Application Server EJB Container Functionality Guide.