After successfully configuring a custom destination (so I thought) with the following
customization(s) ...
<mbean code="org.jboss.jms.server.destination.QueueService"
name="jboss.messaging.destination:service=Queue,name=prototype_PacketResendQ"
xmbean-dd="xmdesc/Queue-xmbean.xml">
jboss.messaging.destination:service=Queue,name=prototype_DLQ
jboss.messaging.destination:service=Queue,name=prototype_ExpiryQ
<!-- Redelivery delay (defaults to 10min=10*60*1000ms if not set -->
${config.dest.prototype_PacketResendQ.RedeliveryDelayInMs:600000}
<!-- The maximum times a message is nacked before a -->
<!-- message is sent to the Dead Letter Queue -->
<!-- -->
<!-- 0 - don't redeliver -->
<!-- n - redeliver n times -->
<!-- -1 - continue redelivering indefinitely -->
1000
<depends
optional-attribute-name="ServerPeer">jboss.messaging:service=ServerPeer
jboss.messaging:service=PostOffice
... etc...
I observed that the custom RedeliveryDelay setting was working great, but the
MaxDeliveryAttempts setting was being ignored ... messages were always sent to the DLQ on
the 6th attempt:
([AbstractDLQHandler] Message redelivered=6 max=5 sending it to the dlq
delegator->JBossMessage[20364378959495170]:NON-PERSISTENT, deliveryId=6 ...)
Also, the message was being sent to the default DLQ, rather than my custom prototype_DLQ.
Eventually, I was able to resolve the issue via client side configuration. More
specifically, I can get the desired effect of MaxDeliveryAttempts and DLQ via
ActivationConfigProperty(s) against the MDB (DLQMaxResent,DLQJNDIName).
@ActivationConfigProperty(propertyName="DLQMaxResent",propertyValue="50000"),
@ActivationConfigProperty(propertyName="DLQJNDIName",propertyValue="queue/prototype_DLQ")
Unfortunately, while the MaxDeliveryAttempts does support -1 (redelivery forever), the
DQLMaxResent does not!
I'd really like to configure the destination, rather that the MDB listening on that
destination. In otherwords, eliminate the need for the ActivationConfigProperty(s)
DLQMaxResent and DLQJNDIName.
How can I do this ... obviously there's some default DLQMaxResent=5 setting which is
overriding my MaxDeliveryAttempts setting; likewise for the specification of a custom
DLQ.
Any assistance would be appreciated ... cheers.
View the original post :
http://www.jboss.org/index.html?module=bb&op=viewtopic&p=4233127#...
Reply to the post :
http://www.jboss.org/index.html?module=bb&op=posting&mode=reply&a...