On 2 Jun 2011, at 13:19, Scott Marlow wrote:

> On 06/02/2011 05:31 AM, Mircea Markus wrote:
>> 
>> On 1 Jun 2011, at 20:49, Scott Marlow wrote:
>> 
>>> I posted a message on the as7-dev ml
>>> (http://lists.jboss.org/pipermail/jboss-as7-dev/2011-May/002254.html),
>>> about switching to use the TransactionSynchronizationRegistry.
>>> 
>>> Does Infinispan currently register Transaction synchronization objects?
>> yes
>>>  Does Infinispan currently register synchronizations via
>>> TransactionSynchronizationRegistry (TSR)?
>> no, we register synchronizations through transaction.registerSynchronization
>>> 
>>> I'm trying to get a sense for, what would happen if container managed
>>> (AS7) session beans were registered with the active JTA transaction via
>>> the TSR.
>>> 
>>> If AS7 switches to use the TSR, I think that Infinispan might need to
>>> ensure that it doesn't attempt to register with the TX too late.
>> right. One way to go  is by making the registration code pluggable.
> 
> I should point out that I believe its only a problem, to call 
> Transaction.registerSynchronization() after the point, where the ordering 
> cannot be correct.  However, no such checking is performed if no components 
> are registering their syncs via TransactionSynchronizationRegistry.
> 
> So, another question, how likely would it be, that an application would see 
> Infinispan registering a sync via Transaction.registerSynchronization(), 
> after the transaction commit has been initiated?
ATM Infinispan allows the registration if the transaction is in one of the 
following states: Status.STATUS_ACTIVE || Status.STATUS_PREPARING. If tx is in 
any other state the sync won't be registered and a exception is instead sent to 
the user.  
> 
> If Transaction.registerSynchronization() will always be called by Infinispan 
> before the transaction commits.  We shouldn't have to be as concerned about 
> support for registering the Infinispan syncs with 
> TransactionSynchronizationRegistry.

> 
> If the answer is we aren't sure or Transaction.registerSynchronization() 
> could happen after the transaction commit has been started, we should have it 
> be pluggable.

From Jonathan's comment[1] I understand that "interposed Synchronizations must 
be called after non-interposed ones". That seems to be true disregarding tx's 
status. Or am I wrong?

[1] http://bit.ly/lAJKvm


_______________________________________________
infinispan-dev mailing list
infinispan-dev@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/infinispan-dev

Reply via email to