Сбой развертывания 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.

и МБР развернуты.

Надеюсь, это решит это и для вас!

Другие вопросы по тегам