Hi, Pradeep.
That a nice introduction to MD-EJB, but doesn't really address the fundamental problem: the transaction.
Note that one user asked a similar question in the discussion
thread at the bottom of the article (See Griffin 7/22/03 "Transactions?")
Anyway, here's my essential question:
Can the MD-EJB's carry the CMT transaction context on from one side of the asynch boundary to the other:
--------------------------------
Client EJB calls:
TX_Required Stateless Session EJB A sends multiple asynch message to:
TX_Mandatory Message-driven EJB B who,for each message calls:
...and note tx context holds through to here:
TX_Mandatory Stateless Session EJB C
and then...
TX_Mandatory Message-driven EJB places response messages on out-que.
...same tx context as before...
TX_Required Stateless Session EJB A rcvs all messages from the in-que.
Client EJB sees something in a message it doesn't like,
executes setRollBackOnly() and exits.
Container rolls back all work done in EJB A thru C.
-----------------------------------------------------
If not, is there some other "approved" way of doing this? We can do it all with threads in EJB helper classes, but we don't want to, because it isn't recommended by Sun. So what's their alternative?
Respectfully,
Ben