1 2 3 Previous Next 42 Replies Latest reply on Dec 18, 2007 5:57 AM by marklittle Go to original post
      • 15. Re: Tibco EMS Integration
        mwax

        Thanks, I would like to see your helloworld_action for tibco.

        By the way, can JBoss handle queue providers requiring authentication?

        • 16. Re: Tibco EMS Integration
          kurtstam

          1. Here you go:

          http://wiki.jboss.org/wiki/Wiki.jsp?page=JBossESBTibcoEMS

          Change the jboss-esb.xml for your host (and Queus)., and add the tibco jars to the jbossesb.sar/lib. The drop messages on the gateway Queue using the tibco samples, or modify our SendJmsMessage class.


          By the way, can JBoss handle queue providers requiring authentication?


          2. No not at this time, it's dead simple to do so, but we're in in freeze mode right now, so hopefully we can add it in soon. Or we can help you with a patch if needed.

          --Kurt

          • 17. Re: Tibco EMS Integration
            mwax

            We can do the patch. I believe that we would be happy to contribute the patch for inclusion in later versions.

            • 18. Re: Tibco EMS Integration
              mwax

              I am unable to get the sample to run.

              First, there is a missing file:

              --- MBEANS THAT ARE THE ROOT CAUSE OF THE PROBLEM ---
              ObjectName: jboss.esb:deployment=Quickstart_helloworld_action.esb
              State: FAILED
              Reason: java.lang.RuntimeException: java.lang.RuntimeException: Failed to find action class 'org.jboss.soa.e
              sb.actions.StoreMessageToFile'.
              I Depend On:
              jboss.esb.quickstart.destination:service=Queue,name=quickstart_helloworld_action_Request
              jboss.esb.quickstart.destination:service=Queue,name=quickstart_helloworld_action_Response



              When I comment out the offending action, I get the following:

              .java:274)
              at org.jboss.deployment.scanner.AbstractDeploymentScanner$ScannerThread.run(AbstractDeploymentScanner.
              java:225)
              Caused by: javax.jms.JMSException: Failed to connect to the server at tcp://localhost:7222
              at com.tibco.tibjms.TibjmsxLinkTcp._createSocket(TibjmsxLinkTcp.java:817)
              at com.tibco.tibjms.TibjmsxLinkTcp.connect(TibjmsxLinkTcp.java:913)
              at com.tibco.tibjms.TibjmsConnection._create(TibjmsConnection.java:1002)
              at com.tibco.tibjms.TibjmsConnection.(TibjmsConnection.java:2699)
              at com.tibco.tibjms.TibjmsQueueConnection.(TibjmsQueueConnection.java:36)
              at com.tibco.tibjms.TibjmsxCFImpl._createImpl(TibjmsxCFImpl.java:159)
              at com.tibco.tibjms.TibjmsxCFImpl._createConnection(TibjmsxCFImpl.java:239)
              at com.tibco.tibjms.TibjmsXAQueueConnectionFactory.createQueueConnection(TibjmsXAQueueConnectionFactor
              y.java:148)
              at org.jboss.internal.soa.esb.rosetta.pooling.JmsConnectionPool.addAnotherSession(JmsConnectionPool.ja
              va:126)
              at org.jboss.internal.soa.esb.rosetta.pooling.JmsConnectionPool.getSession(JmsConnectionPool.java:183)

              at org.jboss.internal.soa.esb.rosetta.pooling.JmsConnectionPool.getQueueSession(JmsConnectionPool.java
              :206)
              at org.jboss.soa.esb.listeners.gateway.JmsGatewayListener.prepareMessageReceiver(JmsGatewayListener.ja
              va:358)
              at org.jboss.soa.esb.listeners.gateway.JmsGatewayListener.doInitialise(JmsGatewayListener.java:102)
              ... 51 more
              16:21:02,653 ERROR [URLDeploymentScanner] Incomplete Deployment listing:

              --- MBeans waiting for other MBeans ---
              ObjectName: jboss.esb:deployment=Quickstart_helloworld_action.esb
              State: FAILED
              Reason: org.jboss.soa.esb.listeners.lifecycle.ManagedLifecycleException: Unexpected JMS error from prepareMe
              ssageReceiver
              I Depend On:
              jboss.esb.quickstart.destination:service=Queue,name=quickstart_helloworld_action_Request
              jboss.esb.quickstart.destination:service=Queue,name=quickstart_helloworld_action_Response

              --- MBEANS THAT ARE THE ROOT CAUSE OF THE PROBLEM ---
              ObjectName: jboss.esb:deployment=Quickstart_helloworld_action.esb
              State: FAILED
              Reason: org.jboss.soa.esb.listeners.lifecycle.ManagedLifecycleException: Unexpected JMS error from prepareMe
              ssageReceiver
              I Depend On:
              jboss.esb.quickstart.destination:service=Queue,name=quickstart_helloworld_action_Request
              jboss.esb.quickstart.destination:service=Queue,name=quickstart_helloworld_action_Response

              • 19. Re: Tibco EMS Integration
                kurtstam

                That missing action was added pretty recently, maybe 2 months ago. Are you in a position to work with the code from the trunk? Just check out a fresh copy and run

                ant dist

                from the product directory. The trunk is very stable at the moment as we are getting ready to release 4.2.1.GA.

                It just may fix the weird issue you are seeing where the JMS providers hostname is not picked up. Something is out of sync somehow. The weird thing is though that the string "tcp://localhost:7222" is used *as it is read from the jbossesb.xml file*. I take it you did NOT put localhost there, but your server name?

                --Kurt

                • 20. Re: Tibco EMS Integration
                  mwax

                  The string "localhost" does not appear in my jbossesb.xml file anywhere. I can't understand where the combination of "localhost" and "7222" is coming from.

                  • 21. Re: Tibco EMS Integration
                    mwax

                    Kurt:

                    I still am not able to make this work. I always get a reference to localhost:7222. I tried forcing a reference to my remote server by modifying the code in JMSEpr, but still see localhost. Could it be possible that you would have seen the same error, but that you had Tibco running locally as well as on remote machine? (I am not trying to second guess you; this has been driving me crazy, and I am trying to understand what is going on.)

                    Thanks.

                    • 22. Re: Tibco EMS Integration
                      kurtstam

                      I don't have tibco on my local machine, only on a remote host. What version of tibco are you running? I'm thinking it may be a function of the tibco client jars. I'm using 4.4.1. Maybe you can try to run their examples from your local box and see if that makes you being able to connect ok.

                      --Kurt

                      • 23. Re: Tibco EMS Integration
                        mwax

                        I am using 4.4.1 also, and I am able to connect to a remote server using a simple JMS client.

                        • 24. Re: Tibco EMS Integration
                          kurtstam

                          Great :). We're making progress now. Can you start jbossesb in debug mode? I'll have you set some break points and we should be out of this mess quickly now.

                          --Kurt

                          • 25. Re: Tibco EMS Integration
                            mwax

                            What are the breakpoints you would suggest?

                            • 26. Re: Tibco EMS Integration
                              kurtstam

                              Step through the JMSCourier. Especially the createMessageConsumer. Make sure the JNDI lookup goes smoothly

                              Properties environment = _epr.getJndiEnvironment();
                              oJndiCtx = NamingContext.getServerContext(environment);
                              


                              and also where it looks up the Queue:

                              queue = (javax.jms.Queue) oJndiCtx.lookup(_epr
                               .getDestinationName());
                              


                              Let me know what you find :).

                              --Kurt

                              • 27. Re: Tibco EMS Integration
                                mwax

                                I see a failure in the first snippet of code

                                oJndiCtx = NamingContext.getServerContext(environment);
                                because the environment contains java.naming.factory.url.pkgs and java.naming.factory.initial, but not java.naming.provider.url.

                                My jboss-esb.xml file contains:

                                <jms-provider name="TIBCOJMSProvider"
                                 connection-factory="QueueConnectionFactory"
                                 jndi-context-factory="com.tibco.tibjms.naming.TibjmsInitialContextFactory"
                                 jndi-pkg-prefix="com.tibco.tibjms.naming"
                                 jndi-URL="tcp://remoteservername:7222">


                                What would I be doing wrong here?

                                • 28. Re: Tibco EMS Integration
                                  kurtstam

                                  We are looking for different variable names (jndi-URL). I think yours are more logical, and I think we should fix that but try something like:


                                  <jms-provider name="Tibco" connection-factory="QueueConnectionFactory"
                                  jndi-URL="tcp://barentz:7222"
                                  jndi-context-factory="com.tibco.tibjms.naming.TibjmsInitialContextFactory"
                                  >



                                  --Kurt

                                  • 29. Re: Tibco EMS Integration
                                    mwax

                                    I'm not sure I understand you. We already have jndi-URL in our file.