Hi Ryan,
That does seem very reasonable, and was a line of argument I was pursuing myself until I read what the Burke/Haefel EJB3 book had to say about NotSupported - the incoming transaction is suspended! So, if it can do that for NotSupported it ought to be able to do that also for RequiresNew. Even worse, for Required, if the client is part of a transaction, the MDB is automatically included in its transaction scope.
Although the MDB is totally decoupled from the message sender, the container presumably has access to the transaction context - and this is where the answer lies I suspect but i haven't managed to find out much about what actually goes on here.
So, I'm still not convinced but thanks anyway!
Cheers,
David