The CORBA component’s Transaction Type property (com.sybase.jaguar.component.tx_type) determines how database work is scoped in a server managed transaction.Allowable values are as follows (values for use in setProperty commands are in parentheses):
Not Supported (not_supported) – The default. The component’s methods never execute as part of a transaction. If the component is activated by another component that is executing within a transaction, the new instance’s work is performed outside of the existing transaction.
Bean Managed (bean_managed) – The component implementation explicitly begins and ends transactions. The component can inherit a client’s transaction. If called without a transaction, the component can explicitly begin, commit, and roll back transactions by using the CORBA CosTransactions::Current interface.
Mandatory (mandatory) – Methods may only be invoked by a client that has an outstanding transaction.
Never (never) – The component’s methods never execute as part of a transaction, and the component cannot be called in the context of a transaction. If a client or another component calls the component with an outstanding transaction, EAServer throws an exception.
Requires (requires) – The component always executes in a transaction. When the component is instantiated directly by a base client, a new transaction begins. If component A is activated by component B, and B is executing within a transaction, then A executes within the same transaction; if B is not executing in a transaction, then A executes in a new transaction.
Requires New (requires_new) – Whenever the component is instantiated, a new transaction begins. If component A is activated by component B, and B is executing within a transaction, then A begins a new transaction that is unaffected by the outcome of B’s transaction; if B is not executing in a transaction, then A executes in a new transaction.
Supports (supports) – The component can execute in the context of an EAServer transaction, but one is not required to execute the component’s methods. If the component is instantiated directly by a base client, EAServer does not begin a transaction. If component A is instantiated by component B, and component B is executing within a transaction, component A executes in the same transaction.