Is there any reason we can't just bundle JBoss Transactions with the JBoss Messaging distribution, then we can assume that we always have it, and don't have to worry about working with more limited transaction managers?
Is there any particular reason why we would want to allow users to use a different transaction manager?
If the user was using a different transaction manager on the client side, we should be able to use JBoss TS internally ok, even in the same VM.
It's possible. That's what the Arjuna Message Service does (it bundles the purely local JTA implementation, since JTS is overkill there).