Previous Topic: Two Phase Commit ProcessNext Topic: Failure Handling


Applications with Transaction Control: Non-XA Tuxedo Servers

There are certain cases where Tuxedo servers may not require the coordination of a Tuxedo Transaction Manager Server (TMS). For example, PSteps within a server only require read access to database tables. In this case there is no need to involve a TMS.

The XA activities, between a CA Gen Server Manager and the Tuxedo TM, can be circumvented by specifying a command line option associated with the UBBCONFIG entry of the server, and by placing these servers in a separate non-TMS server group.

The *GROUPS section of the UBBCONFIG file would look similar to:

*GROUPS
GROUP2 GRPNO=2

Adding the -oX option to the CLOPT parameter of a server causes the CA Gen Tuxedo Server Runtime to forgo all XA operations and will, instead, cause the Server application to connect and interact with the DBMS directly. The -o option informs the runtime that this server is non-XA and the X value associated with this option is ignored. Similarly, the command could be written as -oX, -oNONXA or -oanything.

The *SERVERS section of the UBBCONFIG file would look similar to:

*SERVERS
myserver SRVGRP=GROUP2 SRVID=1 CLOPT=”-A -- -oX -t 15”

The Server Manager Runtime issues the database COMMIT and ROLLBACK statements, giving transactional control to the database. This interaction with the DBMS is handled in a similar way to how support for Tuxedo handled database interaction prior to COOL:Gen 5.0, that is, it makes use of the AEENV file. This AEENV file is read by the CA Gen runtime for database logon information.

The non-XA Tuxedo server cannot participate in an existing global transaction, as its database interaction is done without involving the Tuxedo TMS. Server‑to‑server flows within the same transaction are not possible. The Distributed Transaction Participant attribute associated with the PSteps within a non-XA server is ignored.