As you have already guessed, your problem relates to
Transactions are associated with a thread.
Once you start jumping between threads you are
outside the scope of the ejb spec and the container
cannot help you.
If you *really* need to do this, you should look at the
JTA spec and the TransactionManager interface.
The transaction management and co-ordinating a
transaction across threads becomes your responisibilty.