7 Replies Latest reply on Sep 24, 2004 11:35 AM by sysuser1

    using TIBCO JMS server

    pliang

      I'm trying to make JBOSS3 configured to talk to the tibco jms server instead of jbossmq. I got the following error messages when I run the jboss3 application server. Would any one tell me what I did wrong? It looks like a problem related to naming service. I'm confused about the relationship between the naming service and jms.

      Thanks.

      After run jboss3 by typing run.bat:

      ...
      2002-06-25 17:15:32,487 INFO [org.jboss.tm.TransactionManagerService] Starting
      2002-06-25 17:15:32,537 INFO [org.jboss.tm.TransactionManagerService] Started
      2002-06-25 17:15:32,537 INFO [org.jboss.tm.usertx.server.ClientUserTransactionService] Starting
      2002-06-25 17:15:32,647 ERROR [org.jboss.tm.usertx.server.ClientUserTransactionService] Starting failed
      javax.naming.OperationNotSupportedException: Not supported
      at com.tibco.tibjms.naming.TibjmsContext.bind(TibjmsContext.java:949)
      at javax.naming.InitialContext.bind(Unknown Source)
      at org.jboss.tm.usertx.server.ClientUserTransactionService.startService(ClientUserTransactionService.java:73)
      at org.jboss.system.ServiceMBeanSupport.start(ServiceMBeanSupport.java:162)
      at java.lang.reflect.Method.invoke(Native Method)
      at org.jboss.mx.capability.ReflectedMBeanDispatcher.invoke(ReflectedMBeanDispatcher.java:284)
      at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:491)
      at org.jboss.system.ServiceController$ServiceProxy.invoke(ServiceController.java:894)
      at $Proxy0.start(Unknown Source)
      at org.jboss.system.ServiceController.start(ServiceController.java:340)
      at java.lang.reflect.Method.invoke(Native Method)
      at org.jboss.mx.capability.ReflectedMBeanDispatcher.invoke(ReflectedMBeanDispatcher.java:284)
      at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:491)
      at org.jboss.util.jmx.MBeanProxy.invoke(MBeanProxy.java:174)
      at $Proxy3.start(Unknown Source)
      at org.jboss.deployment.SARDeployer.start(SARDeployer.java:243)
      at org.jboss.deployment.MainDeployer.start(MainDeployer.java:678)
      at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:513)
      at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:481)
      at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:465)
      at java.lang.reflect.Method.invoke(Native Method)
      at org.jboss.mx.capability.ReflectedMBeanDispatcher.invoke(ReflectedMBeanDispatcher.java:284)
      at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:491)
      at org.jboss.system.server.ServerImpl.doStart(ServerImpl.java:314)
      at org.jboss.system.server.ServerImpl.start(ServerImpl.java:216)
      at org.jboss.Main.boot(Main.java:142)
      at org.jboss.Main$1.run(Main.java:375)
      at java.lang.Thread.run(Unknown Source)
      2002-06-25 17:15:32,667 ERROR [org.jboss.deployment.SARDeployer] start operation failed on package file:/C:/project/jboss-3.0.0_tomcat-4.0.3/server/default/conf/jboss-service.xml
      javax.naming.OperationNotSupportedException: Not supported
      at com.tibco.tibjms.naming.TibjmsContext.bind(TibjmsContext.java:949)
      at javax.naming.InitialContext.bind(Unknown Source)
      at org.jboss.tm.usertx.server.ClientUserTransactionService.startService(ClientUserTransactionService.java:73)
      at org.jboss.system.ServiceMBeanSupport.start(ServiceMBeanSupport.java:162)
      at java.lang.reflect.Method.invoke(Native Method)
      at org.jboss.mx.capability.ReflectedMBeanDispatcher.invoke(ReflectedMBeanDispatcher.java:284)
      at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:491)
      at org.jboss.system.ServiceController$ServiceProxy.invoke(ServiceController.java:894)
      at $Proxy0.start(Unknown Source)
      at org.jboss.system.ServiceController.start(ServiceController.java:340)
      at java.lang.reflect.Method.invoke(Native Method)
      at org.jboss.mx.capability.ReflectedMBeanDispatcher.invoke(ReflectedMBeanDispatcher.java:284)
      at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:491)
      at org.jboss.util.jmx.MBeanProxy.invoke(MBeanProxy.java:174)
      at $Proxy3.start(Unknown Source)
      at org.jboss.deployment.SARDeployer.start(SARDeployer.java:243)
      at org.jboss.deployment.MainDeployer.start(MainDeployer.java:678)
      at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:513)
      at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:481)
      at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:465)
      at java.lang.reflect.Method.invoke(Native Method)
      at org.jboss.mx.capability.ReflectedMBeanDispatcher.invoke(ReflectedMBeanDispatcher.java:284)
      at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:491)
      at org.jboss.system.server.ServerImpl.doStart(ServerImpl.java:314)
      at org.jboss.system.server.ServerImpl.start(ServerImpl.java:216)
      at org.jboss.Main.boot(Main.java:142)
      at org.jboss.Main$1.run(Main.java:375)
      at java.lang.Thread.run(Unknown Source)

        • 1. Re: using TIBCO JMS server
          joem

          The problem appears to be that JBoss is trying to call bind() on the TIBCO JMS Naming Service, which does not support the bind operation. Why JBoss is doing this I couldn't say. The instructions that come with TIBCO JMS regarding integrating with JBoss might help.

          /Joe

          • 2. Re: using TIBCO JMS server
            pliang

            I've followed Tibco JMS to JBOSS v 2.4.4 integration instructions in Tibco Enterprise for JMS User's Guide and attempted to map the sample configurations to JBOSS v 3.0.0. After I did the second time, I got rid of the errors I had last time. But I still could not deploy my message bean. While deploying a message bean, jboss 3's naming service could not find ConnectionFactory. The exception dump is as the following:


            2002-07-01 14:01:28,960 DEBUG [org.jboss.management.j2ee.J2EEManagedObject] preDeregister(), parent: jboss.management.single:J2EEServer=Single,name=
            2002-07-01 14:01:28,970 ERROR [org.jboss.ejb.EjbModule] Initialization failed
            javax.naming.NameNotFoundException: ConnectionFactory not bound
            at org.jnp.server.NamingServer.getBinding(NamingServer.java:495)
            at org.jnp.server.NamingServer.getBinding(NamingServer.java:503)
            at org.jnp.server.NamingServer.getObject(NamingServer.java:509)
            at org.jnp.server.NamingServer.lookup(NamingServer.java:282)
            at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:445)
            at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:429)
            at javax.naming.InitialContext.lookup(InitialContext.java:350)
            at org.jboss.ejb.plugins.jms.DLQHandler.create(DLQHandler.java:128)
            at org.jboss.ejb.plugins.jms.JMSContainerInvoker.innerCreate(JMSContainerInvoker.java:441)
            at org.jboss.ejb.plugins.jms.JMSContainerInvoker.create(JMSContainerInvoker.java:415)
            at org.jboss.ejb.MessageDrivenContainer.create(MessageDrivenContainer.java:170)
            at org.jboss.ejb.Container.invoke(Container.java:789)
            at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:491)
            at org.jboss.system.ServiceController$ServiceProxy.invoke(ServiceController.java:894)
            at $Proxy6.create(Unknown Source)
            at org.jboss.system.ServiceController.create(ServiceController.java:272)
            at java.lang.reflect.Method.invoke(Native Method)
            at org.jboss.mx.capability.ReflectedMBeanDispatcher.invoke(ReflectedMBeanDispatcher.java:284)
            at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:491)
            at org.jboss.util.jmx.MBeanProxy.invoke(MBeanProxy.java:174)
            at $Proxy8.create(Unknown Source)
            at org.jboss.ejb.EjbModule.createService(EjbModule.java:392)
            at org.jboss.system.ServiceMBeanSupport.create(ServiceMBeanSupport.java:134)
            at java.lang.reflect.Method.invoke(Native Method)
            at org.jboss.mx.capability.ReflectedMBeanDispatcher.invoke(ReflectedMBeanDispatcher.java:284)
            at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:491)
            at org.jboss.system.ServiceController$ServiceProxy.invoke(ServiceController.java:894)
            at $Proxy6.create(Unknown Source)
            at org.jboss.system.ServiceController.create(ServiceController.java:272)
            at org.jboss.system.ServiceController.create(ServiceController.java:212)
            at java.lang.reflect.Method.invoke(Native Method)
            at org.jboss.mx.capability.ReflectedMBeanDispatcher.invoke(ReflectedMBeanDispatcher.java:284)
            at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:491)
            at org.jboss.util.jmx.MBeanProxy.invoke(MBeanProxy.java:174)
            at $Proxy5.create(Unknown Source)
            at org.jboss.ejb.EJBDeployer.create(EJBDeployer.java:380)
            at org.jboss.deployment.MainDeployer.create(MainDeployer.java:637)
            at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:512)
            at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:481)
            at java.lang.reflect.Method.invoke(Native Method)
            at org.jboss.mx.capability.ReflectedMBeanDispatcher.invoke(ReflectedMBeanDispatcher.java:284)
            at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:491)
            at org.jboss.util.jmx.MBeanProxy.invoke(MBeanProxy.java:174)
            at $Proxy4.deploy(Unknown Source)
            at org.jboss.deployment.scanner.URLDeploymentScanner.deploy(URLDeploymentScanner.java:405)
            at org.jboss.deployment.scanner.URLDeploymentScanner.scanDirectory(URLDeploymentScanner.java:586)
            at org.jboss.deployment.scanner.URLDeploymentScanner.scan(URLDeploymentScanner.java:465)
            at org.jboss.deployment.scanner.AbstractDeploymentScanner.startService(AbstractDeploymentScanner.java:237)
            at org.jboss.system.ServiceMBeanSupport.start(ServiceMBeanSupport.java:162)
            at java.lang.reflect.Method.invoke(Native Method)
            at org.jboss.mx.capability.ReflectedMBeanDispatcher.invoke(ReflectedMBeanDispatcher.java:284)
            at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:491)
            at org.jboss.system.ServiceController$ServiceProxy.invoke(ServiceController.java:894)
            at $Proxy0.start(Unknown Source)
            at org.jboss.system.ServiceController.start(ServiceController.java:340)
            at java.lang.reflect.Method.invoke(Native Method)
            at org.jboss.mx.capability.ReflectedMBeanDispatcher.invoke(ReflectedMBeanDispatcher.java:284)
            at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:491)
            at org.jboss.util.jmx.MBeanProxy.invoke(MBeanProxy.java:174)
            at $Proxy3.start(Unknown Source)
            at org.jboss.deployment.SARDeployer.start(SARDeployer.java:243)
            at org.jboss.deployment.MainDeployer.start(MainDeployer.java:678)
            at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:513)
            at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:481)
            at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:465)
            at java.lang.reflect.Method.invoke(Native Method)
            at org.jboss.mx.capability.ReflectedMBeanDispatcher.invoke(ReflectedMBeanDispatcher.java:284)
            at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:491)
            at org.jboss.system.server.ServerImpl.doStart(ServerImpl.java:314)
            at org.jboss.system.server.ServerImpl.start(ServerImpl.java:216)
            at org.jboss.Main.boot(Main.java:142)
            at org.jboss.Main$1.run(Main.java:375)
            at java.lang.Thread.run(Thread.java:484)

            • 3. Re: using TIBCO JMS server
              pliang

              Finally figured it out. The error occurred in the first post was caused by disabling jboss naming service which was a mistake. The second error occurred in the third post is caused by the Dead Letter Queue (DLQ) which hard-coded the naming context. By disabling DLQ and specifying using TIBCOJMSProvider in the MDB container configuration, I was able to deploy my MDB.

              • 4. Re: using TIBCO JMS server
                sharetop

                 

                "sharetop" wrote:
                you can visit the site : http://www.sharetop.com, I descript JBoss integrated with Tibco JMS. and other jboss's resource.


                • 5. Re: using TIBCO JMS server
                  sysuser1

                  Is it possible to avoid running a separate process (broker) while integrating Tibco EMS to JBoss? It would be much nicer if it was possible to use Tibco JMS just by creating the Tibco Queue connection factory and binding it to JBoss jndi. Using this approach a client could select different JMS providers by just switching the jndi name that the connection factories are bound to. The approach mentioned in the tibco documentation suggests setting up a separate broker process and making jboss connect to it, which leads to a setup that's more difficult to maintain.

                  Any thoughts?

                  • 6. Re: using TIBCO JMS server
                    genman


                    As a client, probably easy. For running MDB, maybe not. (I'm not sure what's involved for that.)

                    This should show you how to "mount" remote JNDI trees onto JBoss, though it's a little wrong.

                    http://www.huihoo.com/jboss/online_manual/3.0/ch13s126.html

                    • 7. Re: using TIBCO JMS server
                      sysuser1

                      Thanks for your reply genman. If I understand correctly, you're suggesting binding the EMS ConnectionFactory objects to JBoss jndi and let the client use JBoss jndi to lookup these objects. But this still requires an external EMS broker running since all the EMS administered objects implement Referenceable, so these objects would actually reside on the EMS broker and not on JBoss itself.
                      This introduces another point of failure in the application. So I wanted to know if it was possible to have the EMS broker running within the JBoss server instance and has anyone attempted a similar configuration. We only use point to point messaging using temporary queues and we don't use any MDBs.

                      Thanks.