0 Replies Latest reply on Mar 10, 2003 8:14 PM by joelgluth

    "queue/" prepending and MDB client non-portability

    joelgluth

      Right.

      We've worked out that a) if JBoss can't find a Queue at the location specified by an MDB's destination-jndi-name, it will create one, and b) it really, really wants it to be in the "queue/" JNDI namespace.

      But when we specifically don't want it to go there, it will happily create the Queue where we say - then go ahead and autocreate one in queue/ anyway. Oddly, it appears not to just put "queue/" in front of the name, but to remove the rootmost subcontext as well.

      Since our client code is putting messages on a Queue, which exists mecause JBossMQ created it - and on which our MDB is not listening. To whit:

      In the MDB's jboss.xml:
      <destination-jndi-name>joel/aif/AIFAgent/queue

      This already exists.

      Deploy the MDB, and messages to this queue are not being consumed. Looking at the jmx-console, we discover that there's another Queue, just created at queue/aif/AIFAgent/queue. I assume this is what the MDB is listening to, from this thread:

      http://jboss.org/forums/thread.jsp?forum=48&thread=11353

      So, one might say, just modify your client code to do what JBoss expects. Thing is though, I don't *want* to. I want to keep everything I do in the joel/ namespace. I deploy my product to multiple app servers, and making concessions to individual platform's weird habits is not my favourite thing. Portability is a big key for me, and normally, JBoss is the platform that gives me the fewest hassles in this regard.

      So what's going on?