10 Replies Latest reply on Feb 11, 2004 10:13 AM by nmartins

    Infinite number of retries

    dlds

      Hello!

      Is it possible to set the MaxTimesRedelivered tag on the DLQ config, so that the number is infinite ?

      Another question :
      Is it possible to specify a DLQ per queue (or topic) ?

      Regards
      Daniel Santos

        • 1. Re: Infinite number of retries

          Not infinite, but you can set it to a very large value.

          The DLQ can be configured per MDB by using a different
          proxy invoker.

          Regards,
          Adrian

          • 2. Re: Infinite number of retries

            This kind of behavior (it's called a poison message!) is not really good. Are you sure you need an infinite retry?

            • 3. Re: Infinite number of retries
              dlds

              Well, what I really need is guaranteed delivery, without having to manually manage the DLQ. To avoid programming something that scans the DLQ, I thought that setting an infinite number of retries would be a short path.

              The single failure case that may cause messages to be sent to the DLQ (in my application) is when an external EIS is down. And this happens very rarely, and for short periods. I think that when the EIS comes up these messages will eventually be consumed.

              • 4. Re: Infinite number of retries
                dlds

                Can you give some example of these per-queue DLQ's configuration ?

                • 5. Re: Infinite number of retries

                  You define an invoker-proxy-binding for each MDB.

                  Search for binding, you will see many references.

                  Regards,
                  Adrian

                  • 6. Re: Infinite number of retries
                    dlds

                    I am using jboss 3.0.6, so instead of invoker-proxy binding I used container-invoker conf.

                    I am attaching the jboss.xml file that I am using to deploy the MDB.

                    The fact is that the messages go to the DLQ instead of the timeControlEventDLQ, when they reach the max times redelivered number

                    • 7. Re: Infinite number of retries

                      <container-configurations>
                      <container-configuration>
                      <!-- etc. -->

                      Regards,
                      Adrian

                      • 8. Re: Infinite number of retries
                        tslusser

                        Hello,

                        I have XA connection factories defined for the DefaultJMSProvider. When the message fails up to the retry limit it tries to send to DLQ. But in DLQHandler it always calls createSession(false, ..). This causes my jms sdk to throw an exception because it cannot use non-transacted sessions with a transacted connection factory. (Incidentally, this causes an infinite loop problem)

                        Is it possible to configue a different JMSProvider for the DLQHandler? Or in other words I want my regular messages to use the XAConnectionFactory but I want my DLQ to use Non-xa ConnectionFactory.

                        -Or-

                        Please change DLQHandler so that it detects whether you are using an XAConnection or Non-xa Connection and creates the session accordingly.

                        Thanks,
                        Ted

                        • 9. Re: Infinite number of retries

                          Start a new thread for new questions.

                          Regards,
                          Adrian

                          • 10. Re: Infinite number of retries
                            nmartins

                            Hi,

                            Can anyone explain to me how to do this?

                            My server/client application was developed with queues and sometimes some messages, after being redeliver some times (without acknowledge), aren't proccessed.

                            Thanks in advance.