The J2EE Connection Architecture defines the javax.resource.cci.LocalTransaction interface for a resource manager, rather than a transaction manager, to coordinate a transaction locally. However, the IMS TM resource adapter supports only transaction coordination with a transaction manager. Thus, the IMS TM resource adapter does not support the javax.resource.cci.LocalTransaction interface. If you call the IMSConnection.getLocalTransaction() method you will get a NotSupportedException. To use transaction support with the IMS TM resource adapter, you need to either use the JTA transaction interface, or set an appropriate transaction attribute in the deployment descriptor in your application. See the topic on global transaction support in client applications for more information.
The IMS TM resource adapter supports one-phase commit optimization with a transaction manager. As a result, if all changes inside a transaction scope belong to the same IMS resource, the transaction manager might perform one-phase-commit optimization such that the transaction manager sends the phase two commit request directly to the resource manager for committing the changes without sending the phase one prepare request.
If no global transaction processing is used in the application (for example, when the transaction attribute is set to TX_NOTSUPPORTED), all non-global transaction processing uses "Sync-On-Return" (OTMA SyncLevel=None). By the time the IMS transaction is committed, the output has been returned to the client.
IMS uses a conversational program to divide processing into a connected series of client-to-program-to-client interactions (also called iterations). Each iteration is a type of IMS conversational transaction. Conversational processing is used when one transaction contains several parts. Each part that comprises one large transaction is separately committed or rolled back.