|Title||Transaction Open Service Interface Definitions|
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.