Как я сам должен был разобраться с этой ошибкой;и мне потребовалось много времени, чтобы найти правильный ответ, я хотел бы поделиться им со следующим, кто придет по этой теме ...
На самом деле решение проблемы было очень простым (по крайней мере, в моем случае).Это не было связано с какими-либо CLASSPATH
, java.library.path
или проблемами установки.
Я просто забыл переключить MQConnectionFactory
в режим клиента.
Это должно быть сделано,просто позвоните
cf.setTransportType(WMQConstants.WMQ_CM_CLIENT);
или
cf.setTransportType(WMQConstants.WMQ_CM_BINDINGS_THEN_CLIENT);
или любому другому типу подключения, который соответствует вашим потребностям.
По умолчанию ConnectionFactory находится в режиме «Binding» (WMQ_CM_BINDINGS
), который предназначен для установки на локальном сервере, как указано в документации IBM:
Для подключения к администратору очередей в режиме привязок , классы WebSphere MQ дляПриложение JMS должно выполняться в той же системе , в которой работает администратор очередей.
Этот тип транспорта совпадает со свойством XMSC_WMQ_CONNECTION_MODE
(WMQConstants.WMQ_CONNECTION_MODE
), когдаиспользуя JNDI или JmsFactoryFactory
.
То же самое должно применяться к другим типам ConnectionFactory: MQQueueConnectionFactory
, MQTopicConnectionFactory
, MQXAConnectionFactory
, MQXAQueueConnectionFactory
и MQXATopicConnectionFactory
ПроверкаЦентр знаний IMB для получения дополнительной информации о различных параметрах подключения / привязки:
https://www.ibm.com/support/knowledgecenter/SSFKSJ_7.5.0/com.ibm.mq.dev.doc/q031720_.htm https://www.ibm.com/support/knowledgecenter/SSFKSJ_7.5.0/com.ibm.mq.dev.doc/q030560_.htm