[jboss-user] [EJB/JBoss] - EJB 3 + transaction propagation

david81 do-not-reply at jboss.com
Tue Nov 27 00:36:06 EST 2007

Hi ,

I am stuck in an issue and need your help on it.

I have an ejb (Bean1) where in a transaction is started.
>From this ejb (Bean1) if I call another ejb(Bean2), and anything wrong happens in Bean2, whole of the transaction is rolled back.
This is controlled by the Jboss.

My query is..
If from Bean1, I make a call to some utility class which makes entires into DB and if an error happens in Bean1 , after utility class commits the DB changes. How can I rollback the changes made in utility class.

In short, how is the transaction in EJB3 propagated to utility class?

I am using hibernate in utility class and the application server used is JBoss4.

I set hibernate.transaction.manager_lookup_class
and set hibernate.transaction.factory_class to org.hibernate.transaction.JTATransactionFactory

My code in utility class..

UserTransaction tx = (UserTransaction)new InitialContext()

try {

// Do some work
saved object using hibernate session

catch (RuntimeException e) {
throw e; // or display error message

The logs show issue with tx.begin(); statement..

        at com.arjuna.ats.internal.jta.transaction.arjunacore.BaseTransaction.begin(BaseTransaction.java:79)

and on the screen I get error
java.lang.IllegalStateException: Wrong tx on thread: expected TransactionImple < ac, BasicAction: -3f5702b4:390d:474aea8d:77 status: ActionStatus.ABORTED >, actual null
        at org.jboss.aspects.tx.TxPolicy.endTransaction(TxPolicy.java:162)
        at org.jboss.aspects.tx.TxPolicy.invokeInOurTx(TxPolicy.java:87)

Can you please tell what could be the problem?

Any help will be greatly appreciated.



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

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

More information about the jboss-user mailing list