我正在尝试使用HermesJMS浏览远程TibcoEMS (ver 8+)服务器上的队列。每当我在已配置的EMS服务器上使用Browse选项时,我都会收到以下错误(服务器和端口模糊):
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)但是,我可以在所需端口远程登录到服务器,可以使用EMS管理控制台连接到服务器,也可以使用以下代码通过java程序连接到此服务器,并列出队列名称:
TibjmsAdmin admin = new TibjmsAdmin( serverUrl, userName, passwd );
System.out.println( "Displaying queues" );
for (QueueInfo qf: admin.getQueues())
System.out.println( qf.getName() );我试着在网上搜索了一下,但是没有结果。这不是身份验证的问题,因为我可以使用EMS管理控制台和java程序连接。
你知道这是怎么回事吗?
发布于 2019-05-22 10:08:01
为什么要使用hermesJMS?相反,您可以使用GEMS,它非常适合TIBCO EMS,并且您可以使用GEMS执行许多操作,包括在队列上发布消息和读取队列中挂起的消息的内容(正文)。
https://stackoverflow.com/questions/55724735
复制相似问题