warning !!!
just lost a lot of time with the following. When you want to do bean managed transactions, do NOT use a seam managed persistent context (injected with @In) but use a EJB3 container managed persistent context (injected with @PersistenceContext).
BMT how to summary
mark bean as BMT
@TransactionManagement(TransactionManagementType.BEAN)
inject em
@PersistenceContext
// NOT !!! @In
private EntityManager entityManager;
inject user transaction
@Resource
private UserTransaction userTransaction;
start / commit / rollback transaction on userTransaction object
userTransaction.begin(); // etc