Сбой развертывания MDB в WildFly для IBM MQ при ошибке соединения
Мы используем WildFly (9.0.2) и приложение Java EE при развертывании EAR с MDB, подключающимися через адаптер ресурсов IBM MQ (9.0.0).
Теперь мы видим, что, когда подключение к серверу MQ невозможно во время развертывания, развертывание не выполняется:
java.lang.RuntimeException:
com.ibm.mq.connector.DetailedResourceAdapterInternalException:
MQJCA1011: Failed to allocate a JMS connection., error code: MQJCA1011
An internal error caused an attempt to allocate a connection to fail.
Это плохое поведение, поскольку приложение должно быть доступно независимо от этого интерфейса обмена сообщениями и должно продолжать другие развертывания, а затем пытаться повторно подключиться к серверу.
В параллельном проекте мы выполнили ту же настройку на сервере SonicMQ, который вел себя таким образом.
Как я могу сконфигурировать IBM MQ RA для принятия отключения во время развертывания и повторных попыток во время выполнения приложения?
1 ответ
Я была такая же проблема. Решил это, установив для свойства startupRetryCount значение 1 (по умолчанию 0) в standalone-full.xml:
<subsystem xmlns="urn:jboss:domain:resource-adapters:3.0">
<resource-adapters>
<resource-adapter id="wmq.jmsra.rar">
<archive>
wmq.jmsra.rar
</archive>
<config-property name="startupRetryCount">
1
</config-property>
После установки этого свойства я получил следующее информационное сообщение в журнале WildFly
[org.jboss.as.connector.deployers.RaXmlDeployer] (JMSCCThreadPoolWorker-5) wmq.jmsra.rar: MQJCA4014:Failed to reconnect one or more MDBs after a connection failure.
и МБР развернуты.
Надеюсь, это решит это и для вас!