遇到mq mqjbnd not found问题与解决

今天跑java程序遇到一个错误

ERROR> com.ssc.faw.common.LogManager[main]: com.ibm.mq.MQException: MQJE001: Completion Code '2', Reason '2495'.
com.ibm.mq.MQException: MQJE001: Completion Code '2', Reason '2495'.
 at com.ibm.mq.MQSESSION.<init>(MQSESSION.java:2075)
 at com.ibm.mq.MQSESSION.getSession(MQSESSION.java:2112)
 at com.ibm.mq.MQManagedConnectionJ11.<init>(MQManagedConnectionJ11.java:202)
 at com.ibm.mq.MQBindingsManagedConnectionFactoryJ11._createManagedConnection(MQBindingsManagedConnectionFactoryJ11.java:248)
 at com.ibm.mq.MQBindingsManagedConnectionFactoryJ11.createManagedConnection(MQBindingsManagedConnectionFactoryJ11.java:302)
 at com.ibm.mq.StoredManagedConnection.<init>(StoredManagedConnection.java:95)
 at com.ibm.mq.MQSimpleConnectionManager.allocateConnection(MQSimpleConnectionManager.java:207)
 at com.ibm.mq.MQQueueManagerFactory.obtainBaseMQQueueManager(MQQueueManagerFactory.java:869)
 at com.ibm.mq.MQQueueManagerFactory.procure(MQQueueManagerFactory.java:761)
 at com.ibm.mq.MQQueueManagerFactory.constructQueueManager(MQQueueManagerFactory.java:712)
 at com.ibm.mq.MQQueueManagerFactory.createQueueManager(MQQueueManagerFactory.java:171)
 at com.ibm.mq.MQQueueManager.<init>(MQQueueManager.java:603)

Caused by: com.ibm.mq.jmqi.JmqiException: CC=2;RC=2495;AMQ8568: The native JNI library 'mqjbnd' was not found. [3=mqjbnd]
 at com.ibm.mq.jmqi.local.LocalMQ$1.run(LocalMQ.java:307)
 at java.security.AccessController.doPrivileged(Native Method)
 at com.ibm.mq.jmqi.local.LocalMQ.initialise_inner(LocalMQ.java:272)
 at com.ibm.mq.jmqi.local.LocalMQ.initialise(LocalMQ.java:237)
 at com.ibm.mq.jmqi.local.LocalMQ.<init>(LocalMQ.java:1119)
 at com.ibm.mq.jmqi.local.LocalServer.<init>(LocalServer.java:182)

 

根据error static 应该是少了mqjbnd的dll google了一下居然找不到这个dll下载  于是把完整的websphere mq和mq client下载安装 还是不行,

后来发现是工作模式bind模式造成的,将MQEnvironment.properties.put(MQC.TRANSPORT_PROPERTY, MQC.TRANSPORT_MQSERIES_BINDINGS);

改成MQEnvironment.properties.put(MQC.TRANSPORT_PROPERTY, MQC.TRANSPORT_MQSERIES_CLIENT); 果然没有问题了..

 

ps:MQ的工作模式有两种 client模式和bind模式,bind模式是指mq的服务器与队列跟程序在同一台机器,因而无需配置host,port,chanel等

而client模式则相反,在bind模式下程序回去找JNI的library 但是在client模式下只需要jar包就可以访问mq了而无需安装任何其他东西

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值