-
1. Re: no success increasing number of redelivery attempts
gaohoward Nov 10, 2011 9:10 PM (in response to stupormundi)1 of 1 people found this helpfulIf you are using MDB, did you try 'useDLQ=false'?
-
2. Re: no success increasing number of redelivery attempts
stupormundi Jan 13, 2012 11:12 AM (in response to gaohoward)Sorry for the late reponse, other tasks kept me from getting back to this piece of code
I've now set useDLQ=false on the MDB, and indeed, now redelivery attempts aren't limited to 5. I get the impression that redelivery attempts now go on forever. In this particular case, that may be preferable to 'only 5 times', maybe. However, generally, infinite message redelivery attempts aren't always acceptable.
What I would really want is that the config in messaging-service.xml , attribute "DefaultMaxDeliveryAttempts" , is respected (or some more fine-grained config, per queue or per MDB).
I saw some reports which maybe indicate this is a known problem in AS 5. Can anyone confirm this?
-
3. Re: no success increasing number of redelivery attempts
jbertram Feb 8, 2012 4:44 PM (in response to stupormundi)...redelivery attempts aren't limited to 5. I get the impression that redelivery attempts now go on forever.
Why do you get that impression?
What I would really want is that the config in messaging-service.xml , attribute "DefaultMaxDeliveryAttempts" , is respected (or some more fine-grained config, per queue or per MDB).
Now that your MDB is using useDLQ=false then JBoss Messaging will enforce the "DefaultMaxDeliveryAttempts" which is set in messaging-service.xml. This setting can be overridden on a per-destination basis using the "MaxDeliveryAttempts" attribute. Redelivery cannot be set on a per-MDB basis.
I saw some reports which maybe indicate this is a known problem in AS 5. Can anyone confirm this?
I haven't heard that. To my knowledge the redelivery settings should be enforced without issue.
To be clear, there has been confusion around the useDLQ and DefaultMaxDeliveryAttempts settings. This is because JBoss MQ, the JMS implementation which preceded JBoss Messaging, did not have its own redelivery/DLQ logic. Therefore, redelivery/DLQ logic was placed in the JBoss EAP generic JMS JCA Resource Adapter. This logic is active by default and because it uses a lower threshold (i.e. 5) than JBoss Messaging (i.e. 10) that supersedes it. To rectify this, one must set the activation configuration property named "useDLQ" to "false" (defaults to "true") on the MDB. This will allow the JBoss Messaging configuration (i.e. DefaultMaxDeliveryAttempts) to take effect. We currently recommend that every MDB set "useDLQ" to "false" so that the JBoss Messaging redelivery logic is used in lieu of the RA's logic.
-
4. Re: no success increasing number of redelivery attempts
stupormundi Feb 21, 2012 10:52 AM (in response to jbertram)Sorry for causing confusion about this. My original testing must have been flawed.
I've retested now and can confirm that the MaxDeliveryAttempts setting is respected.
Thanks for the clarification!