The protocol by which the {@link IsisTransactionManager} interacts and usesthe {@link IsisTransaction} is not API, because different approaches areused. For the server-side ObjectStoreTransactionManager, each object is wrapped in a command generated by the underlying ObjectStore. for the client-side ClientSideTransactionManager, the transaction simply holds a set of events.
Note that methods such as flush(), commit() and abort() are not part of the API. The place to control transactions is through the {@link IsisTransactionManager transaction manager}, because some implementations may support nesting and such like. It is also the job of the {@link IsisTransactionManager} to ensure that the underlying persistencemechanism (for example, the ObjectAdapterStore) is also committed.
|
|
|
|