In Seam 2 we:

* checked if UT was available in JNDI, and used it if it were
* checked if there was a CMT transaction, and used it (IIRC this wwas to work 
around abug)
* otherwise tried to use a resource local transaction (e.g. from Hibernate)
* allowed the user to override and specify one strategy

In Seam 3 we did the same.

So I like option 1.

On 5 Jul 2012, at 10:03, Arne Limburg wrote:

> Hi,
> 
> yesterday I startet working on the JTA support for @Transactional.
> My current approach is to implement a JtaPersistenceStrategy.
> However that leads me to the problem: Who decides which PersistenceStrategy 
> should be taken and how should this decision be made?
> I have three suggestions:
> 
> 1.      We detect, if a UserTransaction is available, if so, the 
> JtaPersistenceStrategy is taken, otherwise the 
> ResourceLocalPersistenceStrategy is taken.
> 
> 2.      We detect, if the involved persistence units use JTA or 
> RESOURCE_LOCAL (which would lead to another question: Would we like to 
> support, that @Transactional mixes both strategies?) and decide from that 
> information
> 
> 3.      We let the user decide by making one (or both) persistence strategies 
> @Alternatives
> What do you think?
> 
> Cheers,
> Arne

Reply via email to