Andrew,
Thanks for the info. I see the words but it does not explain their reasoning.
The spec seems to say that one the one hand an MDB can Require transaction even there can be no pre-existing transaction context. Ok the only way
that the MDB can then run under a transaction is for its container to create one. Fine. But on the other hand then why can't we make that transaction Mandatory?
As for the NotSupported. It seems to mean that the MDB will somehow cause the Producer's transaction to be suspended (assuming there was one). I don't believe that, but for the sake of argument.... Ok If an MDB can do that, then why can't it say Never ? Something is inconsistent here.
If, on the other hand, we assume that NotSupported does NOT mean that an
existing transaction at the Producer will be suspended, then what COULD it mean? It could mean that the MDB itself could never run on ITS container under its own context. But that would be identical to the meaning of Never.
All I can say is, HELP!
The confusion might have something to do with whether they are talking about the container where the Producer runs, versus the container where the MDB runs. I think that some of the Transaction attributes refer to the first, and others to the second. I just guessing now. I would like a consistent explanation.

:roll:

Juan Rolando Prieur-Reza, M.S., LSSBB, SCEA, SCBCD, SCWCD, SCJP/1.6, IBM OOAD, SCSA