Я использую RAD 9.0 и пытаюсь настроить фабрики соединений очереди в WebSphere Application Server 8.5. У меня есть IBM MQ 7.0 (32-разрядная версия), установленная на одном компьютере (Win7 64-bit).
После настройки фабрик подключения очереди, когда я нажимаю Test Connection, выдается сообщение об ошибке:
Не удалось установить соединение с WebSphere MQ по следующей причине: CC = 2; RC = 2495; AMQ8568: Собственная библиотека JNI mqjbnd не найдена. Для установки клиента это ожидается. [3 = mqjbnd]
Родной путь библиотеки (в JMS> WebSphere MQ messeging provider) установлен в C: /Program Files (x86)/IBM/WebSphere MQ\java\lib
.
Я также попытался установить его в C: /Program Files (x86)/IBM/WebSphere MQ\java\lib64
но все же я получаю ту же ошибку.
Также необходимо настроить Factory Queue Connection Factory для настройки порта прослушивателя для MDB?
Сообщение об ошибке означает, что вы настроили фабрику соединений, чтобы иметь тип транспорта Bindings, и поэтому адаптер ресурсов WMQ в WAS должен загружать собственные библиотеки, находящиеся в установке MQ (обратите внимание, что установка клиента MQ не входит в эти библиотеки).
Предполагая, что вы хотите подключиться в режиме Bindings. У вас есть полная локальная установка MQ Server в том же поле, что и сервер WAS, тогда вам нужно будет настроить "Native Library Path" на панели поставщика сообщений WebSphere MQ в WAS (Ресурсы> JMS > Провайдеры JMS). Вы должны изменить поставщика, который находится в той же области, что и установленная фабрика соединений очереди.
Свойство MQ_INSTALL_ROOT является старым свойством, используемым в WAS 6.0 и WAS 6.1, и предназначено только для использования в целях миграции в WAS 7 и далее.
Примечание. Если у вас есть среда ND, операция "Test Connection" потенциально может выполняться в процессе dMgr, а не на сервере. Если ваш dMgr находится на другом хосте, то библиотеки не будут найдены. В этом случае вы должны убедиться, что сервер приложений запущен до выбора кнопки "Проверить подключение".
WAS использует переменную среды MQ_INSTALL_ROOT, чтобы указать (встроенный) клиент WebSphereMQ (Environment-> переменные WebSphere). Значение по умолчанию - $ {WAS_INSTALL_ROOT}/lib/WMQ. Я думаю, вам не нужна отдельная установка клиента WebSphereMQ - он поставляется с WAS (я работаю с WAS8, но, думаю, они не изменили его в 8.5). Что касается вашего вопроса, это может быть проблема с путём: он использует пробелы. Попробуйте установить клиентские библиотеки WebSphereMQ в каталог без пробелов (например, C:\IBM\WMQClient). Но я думаю, что вам это не нужно, проверьте каталог $ {WAS_INSTALL_ROOT}/lib/WMQ - он должен быть там.
И об Спецификации активации - вам не нужно Factory Queue Connection Factory, вам нужно только определение очереди, в которое будет подключаться спецификация активации.