If part of the execution stack happens outside a transaction, I'd do it this way:
- Mark EJB as BMT (bean-managed tx)
- At the end of the business method:
-- start UserTransaction,
-- call em.joinTransaction();
-- commit utx.
All previous changes should be committed at this point.
[Message sent by forum member 'mvatkina']