| Package | osid.transaction |
|---|---|
| Title | Transaction Open Service Interface Definitions |
| Version | 3.0.0 |
| Description |
The Transaction OSID provides the means in which
multiple OSID sessions can be coordinated. An A transaction is one that supports Atomicity, Consistency, Isolation and Durability (ACID). This is difficult to achieve and impossible without the cooperation of the underlying system. The transaction interface, however, is a useful vehicle for supporting multiple operations or a sequence of operations. Since the ACID characteristics of a transaction, like all issues of data persistence, are in the purvue of the provider, they are not addressed in the interface definition leaving a given provider to determine the nature of the transactions it wants to support.
<xosid:heading>Example</xosid:heading>
Transaction agentTransaction = agentAdminSession.createTransaction();
Transaction msgTransaction = messagingSession.createTransaction();
TransactionSession transactions = manager.createSession();
transactions.add(agentTransaction);
transactions.add(msgTransaction);
agentAdminSession.updateAgent(agentId, agentForm);
messagingSession.send(agentId, "I changed your name.");
transactions.commit();
<xosid:heading>Batch Transactions</xosid:heading>
The Transaction OSID also defines a set of batch interfaces for use with sessions that support bulk operations. |