[seam-dev] Implementing REQUIRES_NEW for seam transaction management

Dan Allen dan.j.allen at gmail.com
Mon Aug 31 14:36:48 EDT 2009


On Wed, Aug 26, 2009 at 8:55 PM, Stuart Douglas <stuart at baileyroberts.com.au
> wrote:

> I would like to implement REQUIRES_NEW as a transaction type for the
> @Transactional annotation. My basic plan is:
>
> - Create a TransactionManager component that can be installed into
> components.xml, and give the option to configure the JNDI location of
> the JTA TransactionManager.
>
> - modify the Work.workInTransaction method to check if the existing
> transaction need to be suspended, as if so use the TransactionManager
> component to suspend and resume the transaction.
>
> I can't help thinking that there is some problem with this approach,
> otherwise someone else would have already done it.


Try it, create some tests and if it works, prove it.


>
>
> I also know that TransactionManager is not supposed to be used by the
> application, does anyone know if this will cause problems?


Spring has been doing this for a long time. It's of course app server
dependent, but the general feeling is that using it is so common to consider
it a public API.


>
>
> I would also like to implement the ability to control seam global
> transactions based on a flag in pages.xml, so they can be disabled for
> specific views. Would anyone have any objections to this?


I've always been in favor of this idea.

-Dan

-- 
Dan Allen
Senior Software Engineer, Red Hat | Author of Seam in Action
Registered Linux User #231597

http://mojavelinux.com
http://mojavelinux.com/seaminaction
http://in.relation.to/Bloggers/Dan
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.jboss.org/pipermail/seam-dev/attachments/20090831/56db19e9/attachment.html 


More information about the seam-dev mailing list