2 Replies Latest reply on Mar 15, 2010 2:05 PM by Ali Gohar

    JBoss4 & 5 messaging

    Ali Gohar Newbie

      Hi,

       

      I am trying to run jboss4 and jboss5 on the same machine, both as "all" configuration. JBoss 4.0.2 is using a separate mysql database for its jms queues and clustering (Although there is only 1 node in cluster, itself). And JBoss5 is using its own mysql db for its jms and clustering (same 1 node in cluster, itself). We have configured a separate virtual IP address for JBoss5 and we bind jboss 4 and 5 to different IPs using "-b" option. Both jboss servers start fine but when applications try to lookup message queues on jboss4, it throws error that queue is not bound . Although the queue is there if I check from jmx-console. If i stop jboss5 and start jboss4 on its own then it works perfectly fine. It looks like jms is conflicting with each other. Can anybody please help, and let me know what can I do to fix this problem? Or is it even possible to run jboss4 and 5 on same machine?

       

      Thanks

        • 1. Re: JBoss4 & 5 messaging
          Ali Gohar Newbie

          It looks like the problem is only when my Message driven beans are deployed. I get exceptions as following

           

          javax.naming.CommunicationException [Root exception is java.lang.ClassNotFoundException: No ClassLoaders found for: org.jboss.jms.client.JBossConnectionFactory (no security manager: RMI class loader disabled)]
              at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:713)
              at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:572)
              at javax.naming.InitialContext.lookup(InitialContext.java:347)
              at org.jboss.ejb.plugins.jms.DLQHandler.createService(DLQHandler.java:151)
              at org.jboss.system.ServiceMBeanSupport.jbossInternalCreate(ServiceMBeanSupport.java:238)
              at org.jboss.system.ServiceMBeanSupport.create(ServiceMBeanSupport.java:165)
              at org.jboss.ejb.plugins.jms.JMSContainerInvoker.innerCreate(JMSContainerInvoker.java:597)
              at org.jboss.ejb.plugins.jms.JMSContainerInvoker.startService(JMSContainerInvoker.java:922)
              at org.jboss.ejb.plugins.jms.JMSContainerInvoker$ExceptionListenerImpl.run(JMSContainerInvoker.java:1492)
              at java.lang.Thread.run(Thread.java:534)

           

          Seems, message driven bean is trying to lookup queue in jboss 5 container and it fails because jboss 4 doesn't have jms client in its classpath. Any idea why jboss 4's mdbs are trying to lookup queues from jboss5?

           

          Thanks

          • 2. Re: JBoss4 & 5 messaging
            Ali Gohar Newbie

            Looks like this error is occuring only for DLQ Handlers. I've different queues with have DLQ configured for them and there are listeners to those DLQs. When JBoss starts up and it tries to deploy first Message driven bean listening on a DLQ, it fails and it sebsequently complains about other DLQs. And it says error Initializing DLQHandler.

             

             

            2010-03-15 17:27:48,402 ERROR [org.jboss.ejb.plugins.jms.DLQHandler] Initialization failed DLQHandler
            javax.naming.CommunicationException [Root exception is java.lang.ClassNotFoundException: No ClassLoaders found for: org.jboss.jms.client.JBossConnectionFactory (no security manager: RMI class loader disabled)]
                at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:713)
                at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:572)
                at javax.naming.InitialContext.lookup(InitialContext.java:347)
                at org.jboss.ejb.plugins.jms.DLQHandler.createService(DLQHandler.java:151)
                at org.jboss.system.ServiceMBeanSupport.jbossInternalCreate(ServiceMBeanSupport.java:238)
                at org.jboss.system.ServiceMBeanSupport.create(ServiceMBeanSupport.java:165)
                at org.jboss.ejb.plugins.jms.JMSContainerInvoker.innerCreate(JMSContainerInvoker.java:597)
                at org.jboss.ejb.plugins.jms.JMSContainerInvoker.startService(JMSContainerInvoker.java:922)
                at org.jboss.ejb.plugins.jms.JMSContainerInvoker$ExceptionListenerImpl.run(JMSContainerInvoker.java:1492)
                at java.lang.Thread.run(Thread.java:534)

             

            Any idea why it is trying to use jboss messaging client and not mq client? Can anybody please direct me how jboss internally lookup jms queues? is it using jndi.properties file? but that doesn't list the jnp url? does it use localhost:1099 to lookup?

             

            Thanks