9 Replies Latest reply on Mar 15, 2004 2:58 PM by duslow

    JMS Queue Not flushing

    mikelarnett

      All,
      I am running JBOss 3.2.1- TOmcat Bundle.
      I have a large JMS Queue which on restart will not begin flushing. This has worked in the past, but now it is not. Where should I be looking for info on this problem? The localDB.script file is huge. ANy hsqldb logs out there?
      Thanks in advance for any help anyone can offer,
      -MLA

        • 1. Re: JMS Queue Not flushing
          mikelarnett

          Also, is it possible to initiate a queue flush from the JMX-Console?
          Thanks,
          -MLA

          • 2. Re: JMS Queue Not flushing
            mikelarnett

            Actually, I think all is working, but I was a bit panicked this morning. :)
            Anyways, I have found that the JMS Messages are now in the DLQ. Is there a way to resend these messages? Can I so it from the JMX-Console? Thanks in advance,
            -MLA

            • 3. Re: JMS Queue Not flushing
              duslow

              First, go to http://localhost:8080/jmx-console, find your queue name and click on it. There you will find all the parameters you can tweak including a way to flush the queue of any messages it contains.

              As far as pushing message back on to a queue from the DLQ there is no JMX based solution for this in JBoss. You can however easily write one that consumes the messages off the DLQ (which will removed them) and pushes them to the queue of your choice.

              • 4. Re: JMS Queue Not flushing
                spohl

                All the big jms provider available on the market have a vendor specific solution (management client program) for this kind of administrative tasks. Since JMS is standard and the only api you need (as mentioned), a generic jms admin client program would be a nice thing JBoss could have too...
                The only open-source thing I've found is:
                http://hermesjms.sourceforge.net/
                I've got it working with JBoss, look at the sf forums...

                The SWINGing jmx web-console applet is a good start for JBoss. What about integrating hermes (a generic SWING jms admin client) in JBoss, JBossMQ or the web-console applet?
                Anyone?

                Kind regards,
                S. Pohl

                • 5. Re: JMS Queue Not flushing

                  It looks promising, but what we really need is something to do more general
                  admin tasks like creating users/queues/subscription etc.

                  spohl do you want to add your comment in the development forum, rather than
                  hijacking somebody else's thread:
                  http://www.jboss.org/index.html?module=bb&op=viewtopic&t=46285

                  Regards,
                  Adrian

                  • 6. Re: JMS Queue Not flushing

                    Back on topic. What you do with the contents of the DLQ(s) is up to you.

                    Regards,
                    Adrian

                    • 7. Re: JMS Queue Not flushing
                      kabirkhan

                      One thing we did to process DLQ messages was to modify the destination column of the messages directly in the database.

                      UPDATE JMS_MESSAGES SET DESTINATION='QUEUE.NameOfYourQueueHere'

                      We only have a couple of queues and in our case it was easy to guess what queue the messages used to belong to from their size. We restarted JBoss to get it to process the messages, but this queue flushing thing sounds good.

                      However, the processing of messages stopped after about 40% of the messages in the table?!?!?

                      Cheers,

                      Kab

                      • 8. Re: JMS Queue Not flushing
                        spohl

                        Sorry, but...

                        ...just wanted to give a hint on this client gui to Mike that allows to re-send messages from one queue (even the DLQ) to another via drag&drop. No time consuming writing of a custom jms client.

                        Regards,
                        S. Pohl

                        • 9. Re: JMS Queue Not flushing
                          duslow

                          You can also lookup the "OriginatingQ" property in the message header to see what Queue the message came from prior to being put on the DLQ. JBoss does populate this properly, and I presume that all other JMS providers do as well.