Here is my call situations:

non-J2EE application
Remote EJB call to Weblogic 8.1
EJB calls JMS subsystem

I want to make sure that if any part of this fails, the JMS operation is rolled back. So what I figure I would do is:

- Create a local object wrapped in a TransactionProxyFactoryBean using a transaction manager like JOTM
- Have local object call EJB normally
- Make sure the EJB can participate in an already started transaction
- Have EJB call JMS normally.

It sounds pretty simple, but I don't know about restrictions of mixing transactions managers.