An excellent article in general brings architectural clarity and simplicity to an otherwise extensive and complex set of topics. I especially like the diagrams that show cross-database transactions.
I'm puzzled about one thing though -way at the end of the article.
Message driven beans are new territory - I would guess for many people, including me - in the EJB 2.0 spec. The new MDB behavior concerning transactions and even Handle reference passing behavior is difficult to infer even if you have a solid understanding previous transactional EJB constructs.
The last paragraph header is entitled "Bean Managed transaction for Message Driven Beans."
But paragraph that follows has nothing that says anything more about the topic.
That is - there is no further mention of "Bean managed transactions." There is instead a parallel statement that begins "Container managed transactions..." And then the article ends. And I was still waiting to get the BMP story.
Question: Can we infer that the paragraph topic header describes something that doesn't exist? -- that is, that there is no such thing as using BMP within the range of an MDB? And instead one must use CMP?
If so maybe you could say some thing like Header: "Bean Managed transactions with MDBs" Paragraph: "You can't do this. You have to use CMP instead if you want to involve MDBs in a transaction." If that's what the spec says.
Regards and best wishes,