无法从JDK 6下的JMS客户端连接到WAS 6.0队列

时间:2013-01-03 01:09:51

标签: java jms websphere compatibility

我的设置如下:

  • IBM Websphere Application Server 6.0.2.43
  • 在IBM JDK 6上运行的JMS客户端

我坐了一个JMS队列,并且能够在从IBM JDK 1.4运行时使用我的测试JMS客户端发送/接收消息。但是,目标应用程序需要Java 6.0,从JDK 6.0尝试测试应用程序会产生以下错误:

Jan 3, 2013 3:57:41 AM null null
SEVERE: SIB_MESSAGE
Jan 3, 2013 3:57:41 AM null null
WARNING: SIB_MESSAGE
javax.jms.JMSException: CWSIA0241E: An exception was received during the call to the method JmsManagedConnectionFactoryImpl.createConnection: com.ibm.websphere.sib.exception.SIResourceException: CWSIT0006E: It is not possible to connect to bus ROPS_BUS because the following bootstrap servers could not be contacted [10.0.92.92:7276:BootstrapBasicMessaging] and the following bootstrap servers returned an error condition []. See previous messages for the reason for each bootstrap server failure..
    at com.ibm.ws.sib.api.jms.impl.JmsManagedConnectionFactoryImpl.createConnection(JmsManagedConnectionFactoryImpl.java:240)
    at com.ibm.ws.sib.api.jms.impl.JmsManagedConnectionFactoryImpl.createConnection(JmsManagedConnectionFactoryImpl.java:159)
    at com.progressoft.tests.mq.ConnectTest.send(ConnectTest.java:141)
    at com.progressoft.tests.mq.ConnectTest.main(ConnectTest.java:51)
Caused by: com.ibm.websphere.sib.exception.SIResourceException: CWSIT0006E: It is not possible to connect to bus ROPS_BUS because the following bootstrap servers could not be contacted [10.0.92.92:7276:BootstrapBasicMessaging] and the following bootstrap servers returned an error condition []. See previous messages for the reason for each bootstrap server failure.
    at com.ibm.ws.sib.trm.client.TrmSICoreConnectionFactoryImpl2.bootstrapRequest(TrmSICoreConnectionFactoryImpl2.java:608)
    at com.ibm.ws.sib.trm.client.TrmSICoreConnectionFactoryImpl2.remoteBootstrap(TrmSICoreConnectionFactoryImpl2.java:405)
    at com.ibm.ws.sib.trm.client.TrmSICoreConnectionFactoryImpl2.createConnection(TrmSICoreConnectionFactoryImpl2.java:240)
    at com.ibm.ws.sib.trm.client.TrmSICoreConnectionFactoryImpl2.createConnection(TrmSICoreConnectionFactoryImpl2.java:145)
    at com.ibm.ws.sib.api.jmsra.impl.JmsJcaConnectionFactoryImpl.createCoreConnection(JmsJcaConnectionFactoryImpl.java:563)
    at com.ibm.ws.sib.api.jmsra.impl.JmsJcaConnectionFactoryImpl.createCoreConnection(JmsJcaConnectionFactoryImpl.java:499)
    at com.ibm.ws.sib.api.jmsra.impl.JmsJcaConnectionFactoryImpl.createConnection(JmsJcaConnectionFactoryImpl.java:312)
    at com.ibm.ws.sib.api.jms.impl.JmsManagedConnectionFactoryImpl.createConnection(JmsManagedConnectionFactoryImpl.java:206)
    ... 3 more

我能够成功telnet主机/端口,设置似乎对我好(毕竟,它使用Java 1.4),我无法在服务器上找到更详细的日志记录,很可能,我不知道要去寻找它。

有什么想法吗?

注意:我知道很久以前WAS 6.0的支持已经结束......但我现在仍然坚持使用它。

1 个答案:

答案 0 :(得分:1)

我能够使用IBM Client for JMS on J2SE with IBM WebSphere Application Server从IBM JDK 6(甚至是Oracle JDK 6)连接到WAS队列。

虽然客户端正式支持Java 1.4和1.5(IBM和SUN实现),但它对Java 6没有任何问题

我只需要将属性com.ibm.CORBA.ORBInit=com.ibm.ws.sib.client.ORB添加到初始上下文以使用Oracle / Sun JDK

该工具是一个很好的帮助,它生成了你真正需要的2-3个罐子,而不是我试图从WAS安装中获取依赖关系的混乱。