【问题标题】:MDB deployment on WildFly for IBM MQ fails on connection errorWildFly for IBM MQ 上的 MDB 部署因连接错误而失败
【发布时间】:2018-02-17 07:18:02
【问题描述】:

我们在 EAR 部署中使用 WildFly (9.0.2) 和 Java EE 应用程序,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 配置为在部署时接受断开连接并在应用程序运行时重试?

【问题讨论】:

    标签: java jakarta-ee wildfly ibm-mq resource-adapter


    【解决方案1】:

    我遇到了同样的问题。通过将standalone-full.xml中的属性startupRetryCount设置为1(默认为0)解决了这个问题:

        <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.
    

    以及部署的 MDB。

    希望这也能为您解决问题!

    【讨论】:

    • 太棒了 - 对我来说,该属性的名称暗示它只会再试一次,但行为相同,但重试后它似乎真的让它继续 - 谢谢!
    • 请原谅我的无知。我们间歇性地遇到这个问题。这个属性在这些情况下会有帮助吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-03-11
    • 1970-01-01
    • 2015-08-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-10-29
    相关资源
    最近更新 更多