We want to have a xa transaction (distributed 2 phase commit transaction) 
accross two JBoss Server Instances. Server A stores some data in database 1, 
Server B stores some data in database 2. If one of both fail, we want the 
transaction to be rolled back.

We are using JBoss 4.0.3 in the default configuration with Oracle 9.2.x. The 
datasource is configured as XA datasource using class 
oracle.jdbc.xa.client.OracleXADataSource within the oracle jdbc thin driver 10g.

Both Oracle instances are configured as XA Instances using the initjvm.sql and 
initxa.sql.

EJB1 on Server A calls EJB2 on Server B. Both EJB's are container managed using 
'Requires' as transaction demarcation. Although EJB1 and EJB2 should share one 
transaction EJB2 doesn't roll back the transaction after EJB1 throws a 
RuntimeException. 

After digging deeper into JBoss we found out, that the transaction in EJB1 is 
not put into the payload or as_is_payload, instead it is put into the 
transient_payload attribute of the invocation that is not propagated to JBoss 
Instance B. 

Does JBoss not support the propagation of transactions accross instances? Why 
is the transaction put into the transient_payload? Do we have to write a custom 
interceptor to support distributed transactions?

Thx Rene

View the original post : 
http://www.jboss.com/index.html?module=bb&op=viewtopic&p=3902137#3902137

Reply to the post : 
http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=3902137


-------------------------------------------------------
This SF.Net email is sponsored by:
Power Architecture Resource Center: Free content, downloads, discussions,
and more. http://solutions.newsforge.com/ibmarch.tmpl
_______________________________________________
JBoss-user mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/jboss-user

Reply via email to