6 Replies Latest reply on Apr 18, 2003 4:59 AM by Adrian Brock

    Help - Simple MDB problem

    sys user Master

      Hi, I'm simply trying to get my MailBean MDB consume a queue from JNDI: "jms/MAIL_MDB_QUEUE"

      <configuration-name>MailBean Container Configuration</configuration-name>

      But JBoss always warns that:

      "destination not found: queue/MAIL_MDB_QUEUE reason: javax.naming.NameNotFoundException: MAIL_MDB_QUEUE not bound

      and ends up creating it dynamically. But this is not the queue which I want it to consume ... my queue is "jms/MAIL_MDB_QUEUE". JBoss seems to replace the "jms" context with "queue" context when it does the lookup from the MDB.

      I have made sure that my queues are defined as "jms/MAIL_MDB_QUEUE", I can even look this up from a standalone JMS client. But the MDB always uses "queue" as the context.

      Why does JBOSS always prepend the JNDI name for MDB's with "queue" ?


        • 1. Re: Help - Simple MDB problem
          Adrian Brock Master

          Good question.

          It is some horrible code to automatically create
          the destination if it doesn't exist.
          But it assumes the name
          regardless of the context you specify.

          It has already been removed in the jboss4


          • 2. Re: Help - Simple MDB problem
            sys user Master

            Hi Adrian,

            So do you mean to say that currently, an MDB in JBoss cannot consume a queue that does not start with "queue/" in the JNDI Name ? If I have an application that starts with a context like "jms/" for example, I can not consume this from an MDB ? Are there workarounds for this ?


            • 3. Re: Help - Simple MDB problem
              Adrian Brock Master

              A simple temporary hack would be to create an alias:


              But it needs to be fixed, because both names
              might exist.
              The create if it doesn't exist only works with
              jbossmq anyway.


              • 4. Re: Help - Simple MDB problem
                Adrian Brock Master

                I've fixed this in the 3.0 and 3.2 branches.
                It now tries the specified destination-jndi-name first.


                • 5. Re: Help - Simple MDB problem
                  henryb Newbie

                  Thanks for changing the default behavour if the queue naming.

                  I have been reading the posts regarding integration of MQSeries and JBoss (Jboss Forum) with great interest .

                  Does JBOSS and MQSeries working well together ?

                  Does all of the information in the Forums posts still apply? Have things changed for jboss 3.2?

                  I noticed in a post "I Added the following the the jms-service.xml..." this file does not exist in JBOSS 3.2 . I assume the new files are called jms-ds....

                  Is it still necessary to rebuild JBOSS to get a MQSeriesJMSProvider?
                  Can this be avoided? There was discussion on the Post as to whether the default adapter should work fine?

                  Again, in the posts , loshusu said that JMSAdmin can use JBossNS Service directly. I could not make this work??

                  Sorry for all the questions. However, we are trying hard to make this work.


                  • 6. Re: Help - Simple MDB problem
                    Adrian Brock Master

                    I have never tried to use MQSeries
                    with JBoss.

                    You do need a provider so you can tell mdbs
                    which connection factory to use.

                    Yes jms-service.xml has had its name changed
                    to jms-ds.xml