[jboss-dev-forums] [Design of Messaging on JBoss (Messaging/JBoss)] - Re: JBMESSAGING-126 -- JMS expiration
weston.price@jboss.com
do-not-reply at jboss.com
Fri Nov 17 12:40:09 EST 2006
Put another way:
If an EJB developer wants DLQ functionality for an MDB, he/she has to use the JMS/JCA DLQ implementation. Since we have made the decision to always execute message delivery in the context of a transaction (local or XA), JBM would not handle the case where a RuntimeException occurs. It would simply ignore the message and move on.
While the JMS spec makes note that RuntimeExceptions should not occur in MessageListeners, EJB(X) does not make this assumption. The spec even goes so far as to *require* that message be redelivered depending upon the transaction attributes.
For CMT/REQUIRED MDB's the choice is easy, the specification requires that the transaction be rolled back and the message be redelivered. For BMT/CMT-NOT_SUPPORTED, the spec is all but useless. Effectively the MDB executes in an 'unspecified transaction context'. There are no restrictions on how the container/JCA/integration layer can handle this situation but there are also no real guidlines unfortunately.
Of course for a standalone JBM deployment, the situation is much different; at that point it's just plain ole JMS ;-)
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=3986923#3986923
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=3986923
More information about the jboss-dev-forums
mailing list