![]() ![]() ![]() ![]() ![]() ![]() |
BEA AquaLogic Service Bus and BEA Tuxedo can interoperate to use the services that each product offers. Services often include transaction processing. Tuxedo Transport takes advantage of transactions or starts transactions in AquaLogic Service Bus.
Note: | The exception to this transaction support is when the inbound transport is Tuxedo with a transactional message and the outbound is request/response XA-JMS. In this case, AquaLogic Service Bus detects this exception and results in a TPESYSTEM error. |
The Tuxedo Transport transactional behavior is driven by the Quality of Service (QoS) setting available at the message context level. For information about Quality of Service setting, refer to the "Quality of Service" section in Modeling Message Flow in AquaLogic Service Bus in the AquaLogic Service Bus User Guide.
The following sections explain how the Tuxedo Transport handles transactions.
When a transactional context is received, the message going into the pipeline sets the QoS to Exactly Once, otherwise QoS is set to Best Effort.
When a TransportException is caught before the reply is sent back to the client, the request aborts by throwing a TPESYSTEM exception and a transaction rollback results.
When the thread calling the Business Service has a transactional context, the Tuxedo Transport behaves in the following manner.
TPNOTRAN
flag set.
When the thread calling the Business Service has no transaction associated, the Tuxedo call occurs nontransactionally, regardless of the QoS setting. In this case, it will correspond to a tpcall()
or tpacall()
with the TPNOTRAN
flag set.
![]() ![]() ![]() |