我在同一台Win7 64位笔记本电脑上运行WAS 8.5.5.5和MQ 8.0。
在MQ中设置了队列管理器和2个队列。
然后我在WAS中设置了匹配的队列连接工厂和队列。
队列连接工厂配置很好,因为我在设置时能够测试连接。
我的问题是我无法通过JNDI调用检索QueueConnectionFactory。
我做了一个名字SpaceDump,我可以看到这些错误:
58 (top)/nodes/AU20A9LP0158Node01/servers/server1/jms/CPCPQCF1
58 ERROR: Could not instantiate a bound object.
58 Bound Java type: javax.jms.QueueConnectionFactory
58 Local Java type: NULL
58 String representation:
58 Source object is a javax.naming.Reference.
58 Reference factory class name: com.ibm.ejs.jms.JMSConnectionFactoryFactory
58 RefAddr[0]: Address Type: JCARAAddressContents: ffffffac ffffffed 0 5 73 72 0 16 6a 61 76 61 78 2e 6e 61 6d 69 6e 67 2e 52 65 66 65 72 65 6e 63 65 ffffffe8 ffffffc6 ...
58 RefAddr[1]: Address Type: ADDR_TYPE_WAS7_WMQRA_CLIENT_CF AddressContents: ffffffac ffffffed 0 5 73 72 0 11 6a 61 76 61 2e 75 74 69 6c 2e 48 61 73 68 4d 61 70 5 7 ffffffda ffffffc1 ffffffc3 16 60 ...
58 RefAddr[2]: Address Type: JCA AddressContents: ffffffac ffffffed 0 5 73 72 0 16 6a 61 76 61 78 2e 6e 61 6d 69 6e 67 2e 52 65 66 65 72 65 6e 63 65 ffffffe8 ffffffc6 ...
58 RefAddr[3]: Type: ADDR_TYPE_PROVIDER_HREF
Content: cells/AU20A9LP0158Node01Cell/nodes/AU20A9LP0158Node01/resources.xml#builtin_mqprovider
58 RefAddr[4]: Address Type: JMS
AddressContents: ffffffac ffffffed 0 5 73 72 0 16 6a 61 76 61 78 2e 6e 61 6d 69 6e 67 2e 52 65 66 65 72 65 6e 63 65 ffffffe8 ffffffc6 ...
我已经检查了WAS中的环境变量,MQ_INSTALL_ROOT指向$ {WAS_INSTALL_ROOT} / lib / WMQ,这个文件夹包含ra / wmq.jmsra.rar所以我认为这也很好。
我已经确认wmq.jmsra.rar包含com.ibm.mqjms.jar,后者又包含com.ibm.mq.jms.MQQueueConnectionFactory
我有什么遗失的吗?
除了将队列连接工厂指向MQ中配置的主机和端口之外,我还没有更改WAS中的任何默认设置。
还有什么需要做才能让WAS正确指向MQ吗?
以下是WAS中的队列连接工厂和MQ中的队列管理器的屏幕截图