#java #websphere #ibm-mq
#java #websphere #ibm-mq
Вопрос:
Недавно мы обновили наш сервер MQ для приложения, которое находится в WebSphere. В настоящее время мы используем com.ibm.mq.allclient-9.1.0.2.jar
версию, совместимую с версией сервера MQ. Однако, RC=2059;AMQ9503
ошибка. Тот же jar отлично работает на сервере Jboss, но выдает указанную выше ошибку в версии Websphere 8X. Я подозреваю, что Websphere runtime, которая имеет аналогичный jar, вызывает эту проблему. Наше свойство classloader приложения — «Родительский загрузчик первым», поэтому я попытался даже определить этот jar как начальный jar в classpath, и даже это не сработало. Есть ли способ проверить все jar-файлы, загруженные в приложение в Websphere? или в любом случае я могу решить эту проблему?
Комментарии:
1. Какую версию WAS вы используете, пожалуйста, укажите все четыре цифры. Можете ли вы также узнать, какая ошибка регистрируется в менеджерах очередей
AMQERR01.LOG
при получении 2059. Я также уверен, что любая версия WAS 8 была бы несовместима с версией MQ выше 7.5. Также в большинстве случаев вы бы использовали адаптер ресурсов (rar), а не jar.2. @Shakti Kumar Как сообщает JoshMc, Websphere Application Server версии 8.x включает IBM MQ Resource Adapter (RA) для поддержки развернутых приложений JMS. Этот документ объясняет роль RA и его конфигурацию. Вам не нужно связывать JAR-файлы клиента MQ с вашим приложением.
3. WAAS 8.5 — это версия
Ответ №1:
Попытка ответа, основанная на предыдущих попытках проб и ошибок:
Есть ли способ проверить все jar-файлы, загруженные в приложение в Websphere?
Вы можете просмотреть загруженные классы, нажав на
Приложения > Корпоративные приложения > (развернутое приложение) > Управление модулями > (модуль вашего веб-приложения) > Средство просмотра загрузчика классов
На этом должна появиться страница, на которой вы можете развернуть модули, чтобы увидеть их загруженные классы. Если у вас нет этого представления, вам, вероятно, придется активировать службу просмотра загрузчика классов, установив флажок на
Серверы > серверы приложений > (ваш сервер приложений, возможно server1) > служба просмотра загрузчика классов.
В качестве альтернативы, вы также можете записать классы в native_stdout.log, активировав ведение журнала загрузчиков классов, используемых путем проверки
Серверы приложений> server1 > Определение процесса> Виртуальная машина Java, опция «подробная загрузка класса»
и перезапуск сервера.
или в любом случае я могу решить эту проблему?
Вы можете попробовать установить порядок загрузки классов на «родительский последним», чтобы заставить websphere загружать ваш jar первым (если это еще не сделано). Есть несколько мест, в которых есть этот параметр, см.
Приложения > Типы приложений > WebSphere enterprise applications > (развернутое приложение) > Загрузка классов и обнаружение обновлений
и
Корпоративные приложения > (развернутое приложение) > Управление модулями > (ваш веб-модуль), смотрите выпадающий список «порядок загрузки классов»
а также
Серверы приложений > (ваш сервер приложений, возможно server1) > политика загрузки классов «Single», а затем выпадающий список «режим загрузки классов»
(Я надеюсь, что один из этих вариантов или возможностей полезен, другие варианты могут включать установку рассматриваемой jar в качестве разделяемой библиотеки)