我正在使用 MQ7 并尝试使用 JMS api 访问队列。出现此错误。
有人见过吗?我该如何解决这个问题? TIA
线程“主”com.ibm.msg.client.jms.DetailedJMSException 中出现异常:
JMSFMQ6312:Java(tm) MQI 中发生异常。 Java(tm) MQI 已引发描述该问题的异常。有关详细信息,请参阅链接的异常。
原因:com.ibm.mq.jmqi.JmqiException:CC=2;RC=2495;AMQ8568:未找到本机 JNI 库“mqjbnd”。 [3=mqjbnd]
引起原因:java.lang.UnsatisfiedLinkError:java.library.path中没有mqjbnd
可能有点晚了,但我遇到了同样的问题,并发现如果在连接到远程队列时使用不同的连接模式,可以避免这种情况。默认情况下MQConnectionFactory
uses WMQ_CM_BINDINGS
因为它是连接模式。如果你把它改成WMQ_CM_CLIENT
(或者您喜欢的任何不需要本机库的连接模式)应该没问题。
@Test
public void testMQConnectionMode() throws JMSException {
MQConnectionFactory cf = new MQConnectionFactory();
assertThat(cf.getIntProperty(CommonConstants.WMQ_CONNECTION_MODE), is(equalTo(CommonConstants.WMQ_CM_BINDINGS)));
cf.setIntProperty(CommonConstants.WMQ_CONNECTION_MODE, CommonConstants.WMQ_CM_CLIENT);
assertThat(cf.getIntProperty(CommonConstants.WMQ_CONNECTION_MODE), is(equalTo(CommonConstants.WMQ_CM_CLIENT)));
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)