This topic applies only to the IBM Business Automation Workflow Advanced
configuration.

Transaction qualifier

Draft comment:
This topic only applies to BAW, and is located in the BAW repository. Last updated on 2025-03-13 12:15
This qualifier determines the logical unit of work that the component's processing runs. For a logical unit of work, all of the data modifications to resources (not to be confused with changes to the values in a business object) made during a transaction are either committed together as a unit or rolled back as a unit.

Transaction qualifiers are designed to ensure that any operations that are interdependent are either all completed successfully or all canceled successfully.

Location: The transaction qualifier is set on the implementation.

Settings: The transaction value qualifier can have these settings:
  • Global - A global transaction is a unit of work in a distributed transaction processing environment in which multiple resource managers may be enlisted. If the client propagates a transaction and a component is configured to join that transaction, then this component will run under that transaction. That is to say, resources updated by the component are committed when the client commits the transaction. If either of these conditions are missing, the component runs under a new global transaction that is committed when the operation completes.
  • Local (default) - This setting is required when a component implementation is not capable of participating in a two-phase commit protocol. Sometimes ACID coordination of multiple resource managers is not needed. In such scenarios, running business logic in a local transaction performs better than in a global transaction. Therefore, the component runs in a local transaction, even if a transaction is propagated to the hosting runtime environment. Local transactions are not propagated to services invoked by the component. The local transaction joins an activity session if one is active. If an activity session is not currently active, one is automatically started.
  • Any - If a global transaction context has been propagated from the client, the runtime environment will dispatch methods from the component in a global transaction; otherwise, the runtime environment will establish a local transaction environment.
  • Local application - If this option is selected, the component processing occurs within a WebSphere® local transaction containment External link opens a new window or tab that is managed by the application. It is the responsibility of the application to commit or roll back transactions. (Selecting this option is equivalent to setting the transaction descriptor to Not Supported and setting the LocalTranResolver to application for an enterprise JavaBeans.)

Programming notes

Global transaction qualifiers and activity session qualifiers are mutually exclusive.