Message-ID: <501722491.73.1369149980866.JavaMail.firstname.lastname@example.org> Subject: Exported From Confluence MIME-Version: 1.0 Content-Type: multipart/related; boundary="----=_Part_72_318823908.1369149980866" ------=_Part_72_318823908.1369149980866 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Content-Location: file:///C:/exported.html
The UnitOfWorkProtocol aspect makes the Unit Of Work management transparent in the use= r code.
It will allow you to write your code like this:
Instead of like this:
and still all the transaction and persistence management will take place= .
The UnitOfWorkProtocol aspect has abstract pointcuts th= at you have to define in your aop.xml file (a "transactional object&qu= ot; is an object that is set to participate in the Unit Of Work transaction= , meaning that the Unit Of Work will keep track of its state):
txRequires- picks out all points in the code where you= want a TX REQUIRES transaction to begin, commit= and rollback
txRequiresNew- picks out all points in the code where = you want a TX REQUIRES_NEW transaction to begin, comm= it and rollback
txSupports- picks out all points in the code where you= want a TX SUPPORTS transaction to begin, commit= and rollback
txMandatory- picks out all points in the code where yo= u want a TX MANDATORY transaction to begin, commit and rollback
txNever- picks out all points in the code where you wa= nt a TX NEVER transaction to begin, commit and <= em>rollback
transactionalObjects- picks out all transactional obje= ct, this pointcut is used by the Transactional Mixin
transactionalObjectCreationPoints- picks out all point= s in the code where a transactional object is created
transactionalObjectModificationPoints- picks out all p= oints in the code where a transactional object is being modified (best done= with a
Here is an example on how to define this in XML:------=_Part_72_318823908.1369149980866--