2 Replies Latest reply on Jan 8, 2002 2:25 AM by Dan Lewi Harkestad

    DLQ in 2.4.4

    Dan Lewi Harkestad Newbie

      Hi,

      I'm curious about the DLQ (dead letter queue) that seemed to slip in through the back door in 2.4.4. :) I cannot find much info about it, and I'm interested in knowing how best to use it.

      As far as I've seen so far, what it does is take the messages that rolled back or where a JMSException were thrown, and put it into the DLQ. There they sit, until - so far as I've tested it - JBoss is restarted, where upon a resend is attempted. All nice, but is it in any way possible to instruct the server to resend it's dead messages like it does when JBoss is starting up? Or set a parameter to make it retry every five minutes? I don't think leaving it in the DLQ until the next restart will be acceptable...

      Thanks for any help!

      Cheers,
      Dan

        • 1. Re: DLQ in 2.4.4
          Peter Antman Expert

          There should not ever be any resends (if someone did not sneek in any special stuff I have not seen). The logic with the DLQ handler is as follows:

          - If a message is resent a configurable number of times it will be placed in a "dead letter queue". This is done since JBossMQ do not have a mechanism to not flood a subsciber when it does not ack messages, which will eventually grind JBoss to a halt.

          - The dead letter queue is a normal JMS Queue destination.

          - The DLQ is configurable.

          - It is up to administrative rutines (either developed in JBoss admin or as a part of the application) to administer the messages in the DLQ.

          - Dead message will basically live for ever in the queue until they are fetched.

          - DLQ is described in a change note on sourceforge and is documented in the class org.jboss.ejb.plugins.jms.DLQHandler.java.

          I had no idea these stuff would find its way into the 2.4 line. I will try to document the new stuff when I get the time.

          //Peter

          • 2. Re: DLQ in 2.4.4
            Dan Lewi Harkestad Newbie

            > There should not ever be any resends (if someone did
            > not sneek in any special stuff I have not seen).

            Assuming you speak of the resends done when JBoss restarts, it's not meant to do that? In that case, I guess I shouldn't rely on that behavior to stay.

            > - DLQ is described in a change note on sourceforge
            > and is documented in the class
            > org.jboss.ejb.plugins.jms.DLQHandler.java.

            I'll have a look at that. Thanks!

            Cheers,
            Dan Lewi