1 Reply Latest reply on Jul 17, 2003 7:09 AM by s_thom

    MDB UserTransaction

    s_thom Newbie

      This is probably a more general question:-

      In the EJB2.0 spec it says that an MDB that specifies REQUIRED for a container managed transaction ensures that the dequeue of the JMS message must enlist with the same transaction context as the onMessage. Therefore if the onMessage sets RollbackOnly eveything the onMessage did is rolled back along with the JMS message - causing a JMS retry.

      But, what happens if you specify a Bean managed transaction? By the time onMessage is called the message has already be dequeued by the container so when you call begin() on the user transaction the JMS message cannot be part of this transaction. I think this is correct? But, has JBoss already started its own transaction for the dequeue? If so how does this work with the UserTransaction - or am I talking a load of rubbish?

      Anyone got any ideas?