This section describes the available component types, the moment at which components are constructed, and how their construction can be defined using constructor SQL.
RDMI components can be stateful or stateless. Stateful components can have the lifetime of a session or the lifetime of a transaction.
It is possible to have a component with a lifetime 'transaction' that does not actually participate in the transaction. This means that the component is created the first time it is accessed within a transaction. It will be destroyed, not directly after the call, but at the end of the transaction when a commit or rollback is issued. It is also be possible to have a component with 'session' lifetime which does take part in the transaction. This component receives the commits and rollbacks but is not destroyed at the end of a transaction. It will only be destroyed at the end of a session.
The component type and its lifetime is specified on the State tab of the RDMI components window.
•When a component participates in a transaction, the Rules Engine calls the precommit, commit and/or rollback method of the component, only if this has been specified in the component's definition.
•The lifetime of a component depends on the lifetime setting, that is, if the component is a stateful component. The moment of creation and destruction of the component depends on the lifetime setting.
•If the Stateful Component checkbox is cleared, all other options are greyed out and it is not possible to make a setting.
•If the Participate in transaction checkbox is cleared, the 'Commit', 'Rollback' and 'PreCommit' options are greyed out and it is not possible to make setting.
•If the Support table component is switched off, the 'Extended query conditions', 'Rowset size hint','Update', 'Insert' and 'Delete' options are greyed out and it is not possible to make a setting