Posts

Showing posts from March, 2012

Message driven beans(MDB) and transaction attributes

"Message-driven beans may declare only the NOT_SUPPORTED or REQUIRED transaction attribute. The other transaction attributes don't make sense in message-driven beans because they apply to client-initiated transactions." Why ? MDB are called asynchronously. Therefore NEVER, SUPPORTS, REQUIRES_NEW transaction attributes are not make sense, because there isn't pre-existing transaction context for MDB. NEVER throws Exception if there is pre-existing transaction context, but that don't ever occur. If there is pre-existing transaction context, SUPPORTS will run in that transaction context. (But, there is NO such in MDB!) REQUIRES_NEW always run in new transaction context, but this behavior is always the same to REQUIRED. REQUIRED Vs. REQUIRES_NEW why are we allowed to use a REQUIRED , but not a REQUIRES_NEW? When we specify theh RequiresNew, it comes with an implicit understanding that if the client has a transaction, it needs to be suspended. i.e. the existence of a cl