I'm trying to solve what I thought would be a common issue, but can't currently see a way to solve it.
I have multiple Message Driven Beans that communicate to one another. They are setup in a chain that has a single Message Bean terminating the chain.
I know that due to their use of JMS their transactions will commit before the next Message Driven Bean in the sequence receives the JMS Message.
I know I need that behaviour to ensure that the Entity Beans and JMS Queues that the Message Driven Beans access are left in a known state.
However, what I am trying to achieve is to allow the Message Driven Beans to access other XAResources that do NOT commit until specifically requested (in this scenario only in the final Message Bean which terminates the chain).
Is there a way of passing a Transaction between Message Driven Beans that is separate from the normal JMS Transaction mentioned above? (again this extra Transaction would be on known XAResources)