The transaction is attached to the thread
Your MBean will run on different thread,
the one provided by JMS to deliver the message.
It will not take part in the original transaction.
I would think about what you are trying to do.
If you need the work doing in the same transaction why
are you doing asynchronous work with no guarantee of
when it is performed?
Long running transactions are bad because the
entities are locked until the transaction is committed.