- 
        1. Re: Tibco EMS Integrationkurtstam Oct 19, 2007 11:46 AM (in response to mwax)Hi MWax, 
 I just tried and it got it to work right away using the following parameter settings:jndi-URL="tcp://<ip>:7222? jndi-context-factory="com.tibco.tibjms.naming.TibjmsInitialContextFactory " connection-factory="QueueConnectionFactory" destination-type="queue" destination-name="<queue-name>" 
 and copying the tibco client jars into the jbossesb.sar/lib directory.
 Hope that helps,
 --Kurt
- 
        2. Re: Tibco EMS Integrationkurtstam Oct 19, 2007 11:48 AM (in response to mwax)
 jndi-URL="tcp://localhost:7222"
 jndi-context-factory="com.tibco.tibjms.naming.TibjmsInitialContextFactory"
 connection-factory="QueueConnectionFactory"
 destination-type="queue"
 destination-name="<queue-name>"
- 
        3. Re: Tibco EMS Integrationmwax Oct 22, 2007 11:50 AM (in response to mwax)As long as it is localhost, I have made it work doing what you suggest, but I also modified jndi.properties to add com.tibco.jms.naming to java.namingfactory.url.pkgs. Is this unnecessary? 
 What I cannot do is use a remote Tibco server. I am getting the following error message; any suggestions?
 2007-10-22 11:42:32,404 DEBUG [org.jboss.internal.soa.esb.couriers.JmsCourier] Error from JMS system.
 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(TibjmsXAQueueConnectionFactory.java:148)
 at org.jboss.internal.soa.esb.rosetta.pooling.JmsConnectionPool.addAnotherSession(JmsConnectionPool.java: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.internal.soa.esb.couriers.JmsCourier.createMessageConsumer(JmsCourier.java:420)
 at org.jboss.internal.soa.esb.couriers.JmsCourier.pickup(JmsCourier.java:316)
 at org.jboss.internal.soa.esb.couriers.TwoWayCourierImpl.pickup(TwoWayCourierImpl.java:223)
 at org.jboss.internal.soa.esb.couriers.TwoWayCourierImpl.pickup(TwoWayCourierImpl.java:205)
 at org.jboss.soa.esb.listeners.message.MessageAwareListener.waitForEventAndProcess(MessageAwareListener.java:268)
 at org.jboss.soa.esb.listeners.message.MessageAwareListener.doRun(MessageAwareListener.java:252)
 at org.jboss.soa.esb.listeners.lifecycle.AbstractThreadedManagedLifecycle.run(AbstractThreadedManagedLifecycle.java:115)
 at java.lang.Thread.run(Thread.java:595)
 2007-10-22 11:42:32,825 DEBUG [org.jboss.internal.soa.esb.rosetta.pooling.JmsConnectionPool] Creating a JMS Connection for
 2007-10-22 11:42:33,404 DEBUG [org.jboss.soa.esb.listeners.message.MessageAwareListener] Courier Exception
 org.jboss.soa.esb.couriers.CourierException: Unable to create Message Consumer
 at org.jboss.internal.soa.esb.couriers.JmsCourier.pickup(JmsCourier.java:327)
 at org.jboss.internal.soa.esb.couriers.TwoWayCourierImpl.pickup(TwoWayCourierImpl.java:223)
 at org.jboss.internal.soa.esb.couriers.TwoWayCourierImpl.pickup(TwoWayCourierImpl.java:205)
 at org.jboss.soa.esb.listeners.message.MessageAwareListener.waitForEventAndProcess(MessageAwareListener.java:268)
 at org.jboss.soa.esb.listeners.message.MessageAwareListener.doRun(MessageAwareListener.java:252)
 at org.jboss.soa.esb.listeners.lifecycle.AbstractThreadedManagedLifecycle.run(AbstractThreadedManagedLifecycle.java:115)
 at java.lang.Thread.run(Thread.java:595)
 Caused by: org.jboss.soa.esb.couriers.CourierException: javax.jms.JMSException: Failed to connect to the server at tcp://localhost:7222
 at org.jboss.internal.soa.esb.couriers.JmsCourier.createMessageConsumer(JmsCourier.java:456)
 at org.jboss.internal.soa.esb.couriers.JmsCourier.pickup(JmsCourier.java:316)
 ... 6 more
 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(TibjmsXAQueueConnectionFactory.java:148)
 at org.jboss.internal.soa.esb.rosetta.pooling.JmsConnectionPool.addAnotherSession(JmsConnectionPool.java: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.internal.soa.esb.couriers.JmsCourier.createMessageConsumer(JmsCourier.java:420)
 ... 7 more
 2007-10-22 11:42:33,404 WARN [org.jboss.soa.esb.listeners.message.MessageAwareListener] Error processing courier, backing off for 2000 milliseconds
- 
        4. Re: Tibco EMS Integrationkurtstam Oct 22, 2007 2:02 PM (in response to mwax)If your tibco EMS server is not running on localhost, then you need to put in the hostname/ip address of that host instead. You should only need to modify the settings in the jboss-esb.xml jms-provider section. 
 --Kurt
- 
        5. Re: Tibco EMS Integrationmwax Oct 22, 2007 5:03 PM (in response to mwax)Thanks. I had put in hostname:port in place of localhost:port, but I still see the above Courier exception. Any ideas? 
- 
        6. Re: Tibco EMS Integrationkurtstam Oct 22, 2007 7:34 PM (in response to mwax)Well, if it says: Failed to connect to the server at tcp://somehostname:7222 
 try to see if you can see it connect usingtelnet somehostname 7222 
 to see if you can 'see' that host, you may have firewall issues going on.
 --Kurt
- 
        7. Re: Tibco EMS Integrationmwax Oct 23, 2007 10:36 AM (in response to mwax)Thanks for the suggestion. I can connect, but the problem seems to be that ESB is picking up localhost from somewhere. I added some logging statements to JmsCourier and JmsConnectionPool, and I see the following: 
 2007-10-23 10:30:31,961 DEBUG [org.jbpm.svc.Services] closing service 'tx': org.jbpm.tx.TxService@d8dc2e
 2007-10-23 10:30:32,165 DEBUG [org.jboss.internal.soa.esb.couriers.JmsCourier] Error from JMS system.
 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(TibjmsXAQueueConnectionFactory.java:148)
 at org.jboss.internal.soa.esb.rosetta.pooling.JmsConnectionPool.addAnotherSession(JmsConnectionPool.java:127)
 at org.jboss.internal.soa.esb.rosetta.pooling.JmsConnectionPool.getSession(JmsConnectionPool.java:184)
 at org.jboss.internal.soa.esb.rosetta.pooling.JmsConnectionPool.getQueueSession(JmsConnectionPool.java:207)
 at org.jboss.internal.soa.esb.couriers.JmsCourier.createMessageConsumer(JmsCourier.java:425)
 at org.jboss.internal.soa.esb.couriers.JmsCourier.pickup(JmsCourier.java:316)
 at org.jboss.internal.soa.esb.couriers.TwoWayCourierImpl.pickup(TwoWayCourierImpl.java:223)
 at org.jboss.internal.soa.esb.couriers.TwoWayCourierImpl.pickup(TwoWayCourierImpl.java:205)
 at org.jboss.soa.esb.listeners.message.MessageAwareListener.waitForEventAndProcess(MessageAwareListener.java:268)
 at org.jboss.soa.esb.listeners.message.MessageAwareListener.doRun(MessageAwareListener.java:252)
 at org.jboss.soa.esb.listeners.lifecycle.AbstractThreadedManagedLifecycle.run(AbstractThreadedManagedLifecycle.java:115)
 at java.lang.Thread.run(Thread.java:595)
 2007-10-23 10:30:32,680 INFO [org.jboss.internal.soa.esb.couriers.JmsCourier] >>>queue|queue/DeadMessageQueue
 2007-10-23 10:30:32,680 INFO [org.jboss.internal.soa.esb.couriers.JmsCourier] >>>host: tcp://olpaws045.oldlane.corp:7222
 2007-10-23 10:30:32,680 DEBUG [org.jboss.internal.soa.esb.rosetta.pooling.JmsConnectionPool] Creating a JMS Connection for
 2007-10-23 10:30:32,680 INFO [org.jboss.internal.soa.esb.rosetta.pooling.JmsConnectionPool] >>>{java.naming.provider.url=tcp://olpaws045.oldlane.corp:7222, java.naming.factory.initial=com.tibco.tibjms.naming.TibjmsInitialContextFactory, connection-factory=QueueConnectionFactory, destination-type=queue}
 2007-10-23 10:30:33,165 DEBUG [org.jboss.soa.esb.listeners.message.MessageAwareListener] Courier Exception
 org.jboss.soa.esb.couriers.CourierException: Unable to create Message Consumer
 at org.jboss.internal.soa.esb.couriers.JmsCourier.pickup(JmsCourier.java:327)
 at org.jboss.internal.soa.esb.couriers.TwoWayCourierImpl.pickup(TwoWayCourierImpl.java:223)
 at org.jboss.internal.soa.esb.couriers.TwoWayCourierImpl.pickup(TwoWayCourierImpl.java:205)
 at org.jboss.soa.esb.listeners.message.MessageAwareListener.waitForEventAndProcess(MessageAwareListener.java:268)
 at org.jboss.soa.esb.listeners.message.MessageAwareListener.doRun(MessageAwareListener.java:252)
 at org.jboss.soa.esb.listeners.lifecycle.AbstractThreadedManagedLifecycle.run(AbstractThreadedManagedLifecycle.java:115)
 at java.lang.Thread.run(Thread.java:595)
 Caused by: org.jboss.soa.esb.couriers.CourierException: javax.jms.JMSException: Failed to connect to the server at tcp://localhost:7222
 at org.jboss.internal.soa.esb.couriers.JmsCourier.createMessageConsumer(JmsCourier.java:462)
 at org.jboss.internal.soa.esb.couriers.JmsCourier.pickup(JmsCourier.java:316)
 ... 6 more
 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(TibjmsXAQueueConnectionFactory.java:148)
 at org.jboss.internal.soa.esb.rosetta.pooling.JmsConnectionPool.addAnotherSession(JmsConnectionPool.java:127)
 at org.jboss.internal.soa.esb.rosetta.pooling.JmsConnectionPool.getSession(JmsConnectionPool.java:184)
 at org.jboss.internal.soa.esb.rosetta.pooling.JmsConnectionPool.getQueueSession(JmsConnectionPool.java:207)
 at org.jboss.internal.soa.esb.couriers.JmsCourier.createMessageConsumer(JmsCourier.java:425)
 ... 7 more
 2007-10-23 10:30:33,165 WARN [org.jboss.soa.esb.listeners.message.MessageAwareListener] Error processing courier, backing off for 1000 milliseconds
 2007-10-23 10:30:34,196 INFO [org.jboss.internal.soa.esb.couriers.JmsCourier] >>>queue|queue/DataCollectorQueue
 2007-10-23 10:30:34,196 INFO [org.jboss.internal.soa.esb.couriers.JmsCourier] >>>host: tcp://olpaws045.oldlane.corp:7222
 2007-10-23 10:30:35,196 DEBUG [org.jboss.internal.soa.esb.couriers.JmsCourier] Error from JMS system.
 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(TibjmsXAQueueConnectionFactory.java:148)
 at org.jboss.internal.soa.esb.rosetta.pooling.JmsConnectionPool.addAnotherSession(JmsConnectionPool.java:127)
 at org.jboss.internal.soa.esb.rosetta.pooling.JmsConnectionPool.getSession(JmsConnectionPool.java:184)
 at org.jboss.internal.soa.esb.rosetta.pooling.JmsConnectionPool.getQueueSession(JmsConnectionPool.java:207)
 at org.jboss.internal.soa.esb.couriers.JmsCourier.createMessageConsumer(JmsCourier.java:425)
 at org.jboss.internal.soa.esb.couriers.JmsCourier.pickup(JmsCourier.java:316)
 at org.jboss.internal.soa.esb.couriers.TwoWayCourierImpl.pickup(TwoWayCourierImpl.java:223)
 at org.jboss.internal.soa.esb.couriers.TwoWayCourierImpl.pickup(TwoWayCourierImpl.java:205)
 at org.jboss.soa.esb.listeners.message.MessageAwareListener.waitForEventAndProcess(MessageAwareListener.java:268)
 at org.jboss.soa.esb.listeners.message.MessageAwareListener.doRun(MessageAwareListener.java:252)
 at org.jboss.soa.esb.listeners.lifecycle.AbstractThreadedManagedLifecycle.run(AbstractThreadedManagedLifecycle.java:115)
 at java.lang.Thread.run(Thread.java:595)
- 
        8. Re: Tibco EMS Integrationkurtstam Oct 23, 2007 12:46 PM (in response to mwax)In my case I also ran tibco on a different box, and I was successful. Can you do a search for 'tcp://localhost:7222'.You must have it still referenced somewhere! 
 --Kurt
- 
        9. Re: Tibco EMS Integrationmwax Oct 23, 2007 4:29 PM (in response to mwax)I expected that I had tcp://localhost:7222 somewhere, but I have not been able to find it. I have not even been able to find localhost (or 127.0.0.1), except where you would expect it, e.g., for smtp host. 
 Where would you look? Could this end up in some jar?
- 
        10. Re: Tibco EMS Integrationkurtstam Oct 23, 2007 5:42 PM (in response to mwax)This is what the provider section of my helloworld_action looks like: <providers> <jms-provider name="Tibco" connection-factory="QueueConnectionFactory" jndi-URL="tcp://barentz:7222" jndi-context-factory="com.tibco.tibjms.naming.TibjmsInitialContextFactory" > <jms-bus busid="quickstartGwChannel"> <jms-message-filter dest-type="QUEUE" dest-name="myQueue" /> </jms-bus> <jms-bus busid="quickstartEsbChannel"> <jms-message-filter dest-type="QUEUE" dest-name="queue/B" /> </jms-bus> </jms-provider> </providers> 
 Note that my Queues are is called 'myQueue' and 'queue/B'
 Maybe you need to run an 'ant clean' to make sure you have no old
 artifacts laying around. Check your deploy directory!
 Next I simply send in a message using the tibco sample code:java tibjmsMsgProducer -queue myQueue -user user1 User2 
 and the console shows:17:35:58,812 INFO [STDOUT] Message structure: 17:35:58,812 INFO [STDOUT] [User2]. 17:35:58,812 INFO [STDOUT] &&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& 17:35:58,812 INFO [STDOUT] Body: User2 17:35:58,812 INFO [STDOUT] &&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& 17:35:58,812 INFO [STDOUT] ConsoleNotifier 2007/10/23 05:35:58.812< BEFORE** User2 AFTER** 
 --Kurt
- 
        11. Re: Tibco EMS Integrationmwax Oct 24, 2007 1:34 PM (in response to mwax)I had changed the jboss-esb.xml file in deploy/jboss.esb/META-INF, and had not yet deployed any projects. This will not work, i.e., configuring the entire server instance to use Tibco? Would this then require that a second JMS provider exist for the DeadMessageQueue? 
- 
        12. Re: Tibco EMS Integrationkurtstam Oct 24, 2007 1:44 PM (in response to mwax)You can have as many JMS providers as you wish. 
- 
        13. Re: Tibco EMS Integrationmwax Oct 25, 2007 9:48 AM (in response to mwax)What about the JBoss internal services that are configured with the jboss-esb.xml under jbossesb.seb/META-INF? I have been unable to point these to a remote TIBCO instance. 
- 
        14. Re: Tibco EMS Integrationkurtstam Oct 25, 2007 9:55 AM (in response to mwax)For those services to run of tibco you'd have to change the jbossesb.esb/META-INF/jboss-esb.xml jms-provider section so it contains the tibco factory settings etc. 
 And even in one jboss-esb.xml you can have multiple jms-providers, so the ESB can function as a messaging bridge between JMS providers.
 Do you want me to attach me helloworld_action for tibco to the wiki? I think you are making it more complicated then it is :).
 Cheers,
 --Kurt
 
    