This week's book giveaway is in the Agile and Other Processes forum.
We're giving away four copies of Darcy DeClute's Scrum Master Certification Guide: The Definitive Resource for Passing the CSM and PSM Exams and have Darcy DeClute on-line!
See this thread for details.
  • Post Reply Bookmark Topic Watch Topic
  • New Topic
programming forums Java Mobile Certification Databases Caching Books Engineering Micro Controllers OS Languages Paradigms IDEs Build Tools Frameworks Application Servers Open Source This Site Careers Other Pie Elite all forums
this forum made possible by our volunteer staff, including ...
  • Campbell Ritchie
  • Devaka Cooray
  • Ron McLeod
  • Paul Clapham
  • Liutauras Vilda
  • paul wheaton
  • Jeanne Boyarsky
  • Tim Cooke
Saloon Keepers:
  • Stephan van Hulst
  • Tim Holloway
  • Tim Moores
  • Mikalai Zaikin
  • Carey Brown

Message Driven Beans and Transaction Attributes

Posts: 1
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Hi all,
The EJB 2.0 spec says that Message Driven Beans (MDB) are only allowed a transactional attribute of either Required or NotSupported. The reasons it gives for this is as follows :
1) Since a MDB never gets called by a client so to speak, there is never a pre-existing transactional context, hence, RequiresNew and Supports, both which deal with client transactions, are meaningless to MDBs
2) Also, since Mandatory and Never throw exceptions to clients if the methods are executed in a transaction, and since there is never an MDB client, these 2 are also meaningless.
Now, I understand these 2 points totally. But in the same vein, why allow Required and NotSupported ??? Required also deals with client transactions (if one exists, Required means container will execute the transaction under the client transaction) and NotSupported suspends a client transaction (if one exists)...and since a MDB never has a client, these 2 also should be meaningless in the context of a MDB. So why allow these 2 but not the rest ??
I know that the container, according to the specs, creates a new transaction everytime for a MDB as it has no client, but I do not understand why it allows Requires and NotSupported, but not the others ???
Any ideas ??
mister krabs
Posts: 13974
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Suman, please not that we have a naming requirement at JavaRanch. Please re-register using your real first name-space-last name. Thanks.
Tom - Moderator of this board
Hot dog! An advertiser loves us THIS much:
a bit of art, as a gift, the permaculture playing cards
    Bookmark Topic Watch Topic
  • New Topic