Mantis - Resin
Viewing Issue Advanced Details
1173 minor always 06-05-06 14:11 06-27-06 14:25
ferg  
ferg  
normal  
closed  
fixed  
none    
none 3.0.20  
0001173: XA suspend issue
(rep by Shane Cruz)

We are trying to upgrade to ActiveMQ 4.0 and are having issues getting redeliveries to work when using Resin’s transaction manager. See: http://issues.apache.org/activemq/browse/AMQ-731 [^]
 
According to the ActiveMQ developers (see issue above), the Resin transaction implementation is incorrect because “suspend is only supposed to remove the thread/tx association and not change what resources are enrolled in the transaction.” Do you agree with this statement? Most of the details are in the AMQ JIRA issue, so I have not duplicated them here.
 

Notes
(0001323)
ferg   
06-27-06 14:24   
Checked with the JTA spec. It pretty clearly requires delisting on suspension, i.e. Resin's behavior looks correct:

"3.2.3 Suspending and Resuming a Transaction

The application server is responsible for ensuring that the resources in use by the application are properly delisted from the suspended transaction. A resource delist operation triggers the Transaction Manager to inform the resource manager to disassociate the transaction from the specified resource object (XAResource.end(TMSUSPEND)).

When the application's transaction context is resumed, the application server ensured that the resource in use by the application is again enlisted with the transaction. Enlisting a resource as a result of resuming a transaction triggers the Transaction Manager to inform the resource manager to re-associate the resource object with the resumed transaction (XAResource.start(TMRESUME))."