-
1. Re: HornetQ Resource Adapter and DLQ handling
jaikiran Apr 16, 2010 5:12 AM (in response to ataylor)Actually, there are 2 things to be considered here:
1) Provider specific activation config properties : As Andy says - JBM used to support some of the activation config props which are no longer valid in HornetQ. As Andy and I discussed over IRC, I'll see if EJB3 code mandates some of these properties to be available. If it does, then we will have to move it out of EJB3 (including the related documentation) to make it a JMS provider specific config.
2) The meaning/usage of DLQ : In HornetQ, there are just Dead letter Addresses. But from the point of view of a JMS client (like MDB) which are just aware of (JMS) queues and (JMS) topics, how would the MDB subscribe to a dead letter (JMS) queue. I am still looking at the hornetq configs in AS and reading through the docs to see how the (hornetq) DLA is being setup. I guess, there needs to be some layer which sets up a (HornetQ) queue subscription to the DLA to make it look like the (JMS) DLQ.
-
2. Re: HornetQ Resource Adapter and DLQ handling
jaikiran Apr 16, 2010 5:14 AM (in response to jaikiran)By the way, currently we also allow MDB specific dead letter queue which overrides the global DLQ. We'll have to see how that works out with HornetQ.
The entire set of JBoss specific (actually JBM specific) activation config properties are here http://www.jboss.org/file-access/default/members/jbossejb3/freezone/docs/tutorial/1.0.7/html/Message_Driven_Beans.html in the second table.
-
3. Re: HornetQ Resource Adapter and DLQ handling
jaikiran Apr 16, 2010 5:28 AM (in response to jaikiran)jaikiran pai wrote:
More specifically, I am checking how this is any different from a MDB listening to a "normal" queue in HornetQ
-
4. Re: HornetQ Resource Adapter and DLQ handling
jaikiran Apr 16, 2010 10:03 AM (in response to jaikiran)jaikiran pai wrote:
2) The meaning/usage of DLQ : In HornetQ, there are just Dead letter Addresses. But from the point of view of a JMS client (like MDB) which are just aware of (JMS) queues and (JMS) topics, how would the MDB subscribe to a dead letter (JMS) queue. I am still looking at the hornetq configs in AS and reading through the docs to see how the (hornetq) DLA is being setup. I guess, there needs to be some layer which sets up a (HornetQ) queue subscription to the DLA to make it look like the (JMS) DLQ.
We can stop worrying about this part now, because the reason why the DLQ/DLA is not being triggered for the MDB, is because of this bug/config issue in HornetQ http://community.jboss.org/message/537970#537970
I quickly hacked the MessageReference#getDeliveryCount() impl to return a value higher than the max-delivery-count and I could see that the message is redirected to the DLQ and the EJB3 test passes. So it's just a matter of fixing that issue mentioned in the other thread.
As for the other questions raised in this thread, they are still valid.
-
5. Re: HornetQ Resource Adapter and DLQ handling
jaikiran Apr 19, 2010 1:07 PM (in response to ataylor)Andy Taylor wrote:
P.S Jaikirin is looking in the ejb3 code to see where these defaults are set as this would need changing too
I looked at the EJB3 code. The provider specific activation config properties (like dlqMaxResent) are set only if the user configuring the MDB with those properties. Without those properties, EJB3 does not invoked the corresponding method on the activation spec. And from what I tested, I don't see those methods on HornetQActivationSpec being called, unless someone explicitly sets these properties.