Установка клиента Websphere MQ - PullRequest
       19

Установка клиента Websphere MQ

3 голосов
/ 12 сентября 2011

Я работаю над проектом, в котором клиент MQ (Support PAC 7) установлен на одной 64-битной машине Linux и отправляет сообщения на сервер.

На клиентском компьютере мы используем 64-разрядную версию Linux JDK 1.6.25

Java-версия

 java version "1.6.0_25"

У меня установлена ​​следующая переменная окружения

 MQSERVER='my_channel/tcp/SRVD10995(1414)'
 MQ_INSTALL_ROOT=/var/mqm/
 MQ_JAVA_DATA_PATH=/var/mqm/
 MQ_JAVA_INSTALL_PATH=/opt/mqm/java/
 MQ_JAVA_LIB_PATH=/opt/mqm/java/lib64
 LD_LIBRARY_PATH=/opt/mqm/java/lib64
 CLASSPATH= /opt/mqm/java/lib/com.ibm.mq.jar:/opt/mqm/java/lib/com.ibm.mqjms.jar:/opt/mqm/samp/jms/samples:/opt/mqm/samp/wmqjava/samples

но когда я запускаю следующую команду

dspmqver -p 6

Для нативных библиотек я вижу следующее сообщение:

 Name:        IBM WebSphere MQ
 Version:     7.0.1.6
 CMVC Level:  k701-106-110721 mqjbnd=CC=2;RC=2495;AMQ8568: The native JNI library 'mqjbnd' was not found. [3=mqjbnd]::no mqjbnd in java.library.path
 Build Type:  Production

Я также получаю то же сообщение об ошибке при выполнении кода JMS для подключения к серверу. У меня нет libmqjbnd.so, который не находится в папке / opt / mqm / java / lib64, и даже не в 32-битной папке.

У меня есть пара вопросов:

1) Как исправить эту проблему при установке клиента? 2) Должен ли файл библиотеки (.so) находиться в этом каталоге?

Я буду благодарен, если кто-нибудь даст мне ответ на вышеуказанные вопросы, я уже потратил много часов на это, но не радости.

Ответы [ 3 ]

2 голосов
/ 20 сентября 2011

Необходимость библиотек зависит от того, как вы хотите отправлять сообщения на сервер. WebSphere MQ позволяет выбирать между режимом привязок и режимом клиента. В режиме привязок используются библиотеки с некоторым IPC, в то время как режим клиента основан исключительно на Java и TCP. Если ваш язык программирования Java, я бы выбрал режим клиента.

2 голосов
/ 12 сентября 2011

Технический комментарий по этому конкретному вопросу здесь .Сообщите нам, если представленное там решение не решит вашу проблему.

Обновление: я заметил несоответствие между вашим CLASSPATH, который указывает на 32-битные библиотеки, и другими переменными, указывающими на 64-битные библиотеки.WMQ предоставляет сценарии, которые устанавливают переменные для вас , как описано в Инфоцентре :

On a UNIX system, you can use the script setjmsenv (if you are using a 32-bit 
JVM) or setjmsenv64 (if you are using a 64-bit JVM) to set the environment
variables. On AIX, these scripts are in the /usr/mqm/java/bin directory and,
on HP-UX, Linux, and Solaris, they are in the /opt/mqm/java/bin directory.

Многие люди получают сценарии в своем .profile.Вы пробовали запустить это?Помните, что простой запуск сценария ...

/opt/mqm/java/bin/setjmsenv64

... не приводит к установке переменных env в текущей оболочке.Сценарий должен быть получен с использованием синтаксиса точки следующим образом:

. /opt/mqm/java/bin/setjmsenv64

Какие результаты вы получите после поиска соответствующего сценария setjmsenv или setjmsenv64?

0 голосов
/ 25 сентября 2014

Это сообщение также появляется, если вы забыли установить свойства для хоста, порта, ... Это в случае автономного MQ-клиента.

MQEnvironment.hostname = "mqm.onZos.myCompany.com";
MQEnvironment.port = 1234;
MQEnvironment.channel = "SYSTEM.MYCH.NAME";
...