我正在使用RAD 9.0并尝试在WebSphere Application Server 8.5中配置队列连接工厂。我在同一台机器上安装了IBM MQ 7.0(32位)(Win7 64位)。
单击“测试连接”后配置队列连接工厂后,会出现错误:
由于以下原因,无法与WebSphere MQ建立连接:CC = 2; RC = 2495; AMQ8568:未找到本机JNI库“mqjbnd”。对于客户端安装,这是预期的。 [3 = mqjbnd]
本机库路径(在JMS> WebSphere MQ messeging提供程序下)设置为C:/Program Files (x86)/IBM/WebSphere MQ\java\lib
。
我也尝试将其设置为C:/Program Files (x86)/IBM/WebSphere MQ\java\lib64
,但我仍然遇到同样的错误。
是否还需要配置队列连接工厂以配置MDB的侦听器端口?
答案 0 :(得分:1)
错误消息表示您已将连接工厂配置为具有Bindings的传输类型,因此WAS中的WMQ资源适配器需要加载位于MQ安装中的本机库(请注意,MQ客户端安装不附带这些库)。
假设您希望以Bindings模式连接并且您在与WAS服务器相同的框中安装了完整的本地MQ Server,那么您将需要在WAS中的WebSphere MQ消息传递提供程序面板上配置“本机库路径”(资源> JMS> JMS提供者)。您应该更改与定义的队列连接工厂处于同一范围的提供程序。
MQ_INSTALL_ROOT属性是WAS 6.0和WAS 6.1中使用的旧属性,仅用于WAS 7及更高版本中的迁移原因。
注意:如果您有ND环境,那么“测试连接”操作可能会在dMgr进程而不是服务器上运行。如果您的dMgr位于不同的主机上,则找不到库。在这种情况下,您应该确保应用程序服务器正在运行,然后再选择“测试连接”按钮。
答案 1 :(得分:0)
WAS使用环境变量MQ_INSTALL_ROOT指向(嵌入式)WebSphereMQ Client(Environment-> WebSphere Variables)。默认值为$ {WAS_INSTALL_ROOT} / lib / WMQ。我认为你不需要单独安装WebSphereMQ客户端 - 它附带WAS(我正在使用WAS8,但我猜他们没有在8.5中更改它)。 至于你的问题,它可能是路径的问题:它使用空格。尝试在没有空格的目录中安装WebSphereMQ客户端库(例如C:\ IBM \ WMQClient)。但我认为你不需要它,检查目录$ {WAS_INSTALL_ROOT} / lib / WMQ - 它应该在那里。
关于激活规范 - 您不需要队列连接工厂,只需要激活规范将连接到的队列定义。