简体   繁体   中英

HermesJMS not able to connect to TibcoEMS server

I am trying to browse queues on remote TibcoEMS (ver 8+) server using HermesJMS. Whenever I use Browse option on the configured EMS server, I get following error (server and port obscured):

com.tibco.tibjms.admin.TibjmsAdminException: Unable to connect to server. Root cause:
javax.jms.JMSException: Failed to connect to the server at tcp://servername.domain.com:port
    at com.tibco.tibjms.admin.MessengerUtil.<init>(MessengerUtil.java:59)
    at com.tibco.tibjms.admin.TibjmsAdmin.<init>(TibjmsAdmin.java:458)
    at com.tibco.tibjms.admin.TibjmsAdmin.<init>(TibjmsAdmin.java:439)
    at hermes.ext.ems.TibcoEMSAdminFactory.createAdmin(TibcoEMSAdminFactory.java:105)
    at hermes.ext.ems.TibcoEMSAdmin.getAdmin(TibcoEMSAdmin.java:75)
    at hermes.ext.ems.TibcoEMSAdmin.discoverDestinationConfigs(TibcoEMSAdmin.java:261)
    at hermes.impl.HermesAdminAdapter.discoverDestinationConfigs(HermesAdminAdapter.java:82)
    at hermes.impl.DefaultHermesImpl.discoverDestinationConfigs(DefaultHermesImpl.java:1126)
    at hermes.browser.tasks.DiscoverDestinationsTask.invoke(DiscoverDestinationsTask.java:77)
    at hermes.browser.tasks.TaskSupport.run(TaskSupport.java:175)
    at hermes.browser.tasks.ThreadPool.run(ThreadPool.java:170)
    at java.lang.Thread.run(Unknown Source)
Internal exception:
javax.jms.JMSException: Failed to connect to the server at tcp://servername.domain.com:port
    at com.tibco.tibjms.TibjmsxLinkTcp._createSocket(TibjmsxLinkTcp.java:823)
    at com.tibco.tibjms.TibjmsxLinkTcp.connect(TibjmsxLinkTcp.java:914)
    at com.tibco.tibjms.TibjmsConnection._create(TibjmsConnection.java:1351)
    at com.tibco.tibjms.TibjmsConnection.<init>(TibjmsConnection.java:4311)
    at com.tibco.tibjms.TibjmsQueueConnection.<init>(TibjmsQueueConnection.java:36)
    at com.tibco.tibjms.TibjmsxCFImpl._createImpl(TibjmsxCFImpl.java:200)
    at com.tibco.tibjms.TibjmsxCFImpl._createConnection(TibjmsxCFImpl.java:253)
    at com.tibco.tibjms.TibjmsQueueConnectionFactory.createQueueConnection(TibjmsQueueConnectionFactory.java:87)
    at com.tibco.tibjms.admin.MessengerUtil.<init>(MessengerUtil.java:47)
    at com.tibco.tibjms.admin.TibjmsAdmin.<init>(TibjmsAdmin.java:458)
    at com.tibco.tibjms.admin.TibjmsAdmin.<init>(TibjmsAdmin.java:439)
    at hermes.ext.ems.TibcoEMSAdminFactory.createAdmin(TibcoEMSAdminFactory.java:105)
    at hermes.ext.ems.TibcoEMSAdmin.getAdmin(TibcoEMSAdmin.java:75)
    at hermes.ext.ems.TibcoEMSAdmin.discoverDestinationConfigs(TibcoEMSAdmin.java:261)
    at hermes.impl.HermesAdminAdapter.discoverDestinationConfigs(HermesAdminAdapter.java:82)
    at hermes.impl.DefaultHermesImpl.discoverDestinationConfigs(DefaultHermesImpl.java:1126)
    at hermes.browser.tasks.DiscoverDestinationsTask.invoke(DiscoverDestinationsTask.java:77)
    at hermes.browser.tasks.TaskSupport.run(TaskSupport.java:175)
    at hermes.browser.tasks.ThreadPool.run(ThreadPool.java:170)
    at java.lang.Thread.run(Unknown Source)

However, I can telnet to server on required port, can connect to server using EMS admin console, also able to connect to this server through java program using below code and list queue names:

TibjmsAdmin admin = new TibjmsAdmin( serverUrl, userName, passwd );
System.out.println( "Displaying queues" );
for (QueueInfo qf: admin.getQueues())
    System.out.println( qf.getName()  );

Tried searching on web and SO but to no avail. Its not authentication problem for sure as I can connect using EMS admin console and java program.

Any clue whats going on here?

Why do you want to use hermesJMS? Instead you can use GEMS which is perfect for TIBCO EMS and you can perform number of operation using GEMS including publishing message on the queue and reading the content(body) of pending message on the queue.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM