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#4233127

Reply to the post : 
http://www.jboss.org/index.html?module=bb&op=posting&mode=reply&p=4233127
_______________________________________________
jboss-user mailing list
jboss-user@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/jboss-user

Reply via email to