Hi I am planning to migrate from JBossAS 4.0.5 to 4.2.2 which uses the new Arjuna TS.
I have the following beans with all bean methods marked with REQUIRES_NEW as Transaction Attribute and use Local DataSource
EJB0
beanMethod01{ invoke beanMethod11}
EJB1
beanMethod11{ invoke beanMethod22}
EJB2
beanMethod21()
beanMethod22{ invoke beanMethod31}
EJB3
beanMethod31()
===============================================================
My undestanding with EJB Transaction was when the client invokes a Transaction Ti will execute in the following fashion.
-> Client Invocation
EJB0
beanMethod01{ invoke beanMethod11} -> Start To
EJB1
beanMethod11{ invoke beanMethod22} -> Suspend To, Start T1
EJB2
beanMethod21()
beanMethod22{ invoke beanMethod31} -> Suspend T1, Start T2
EJB3
beanMethod31() -> Suspend T2, Start T3
<- End T3, exitMethod
EJB2
beanMethod21()
beanMethod22{ invoke beanMethod31} <- Resume T2, End T2, exitMethod
EJB1
beanMethod11{ invoke beanMethod22} <- Resume T1, End T1, exitMethod
EJB0
beanMethod01{ invoke beanMethod11} <- Resume T0, End T0, exitMethod, Return to Client
==============================================
I am getting an error as
"WARN [loggerI18N] [com.arjuna.ats.internal.jta.transaction.arjunacore.lastResource.disallow] [com.arjuna.ats.internal.jta.transaction.arjunacore.lastResource.disallow] Adding multiple last resources is disallowed. Current resource is org.jboss.resource.connectionmanager.TxConnectionManager$LocalXAResource@48fe36�
I read through http://wiki.jboss.org/wiki/Multiple1PC.
My Question is since the previous Transaction gets suspended I am wondering why the TM tries to enlist the Resources.
Can some one throw light on how the TM works in Arjuna/Jboss TS
Thanks in Advance
Shankar