java - 在 WildFly for IBM MQ 上部署 MDB 因连接错误而失败

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

我们在 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. 

这种行为很糟糕,因为应用程序必须独立于此消息传递接口(interface)可用,并且应该继续其他部署并稍后尝试重新连接到服务器。

在一个并行项目中,我们对 SonicMQ 服务器进行了相同的设置,该服务器以这种方式运行。

如何将 IBM MQ RA 配置为在部署时接受断开连接并在应用程序运行时重试?

最佳答案

我遇到了同样的问题。通过在 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。

希望这也能为您解决!

关于java - 在 WildFly for IBM MQ 上部署 MDB 因连接错误而失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46115191/

相关文章:

java - 返回按钮帮助

jboss - Keycloak/Undertow/JBoss-CLI - 从环境变量设置 "web-context"

java - 使用 Htmlunit 在 Java 网页上按下切换按钮

java - 在 JPA 2 Criteria API 中选择 DISTINCT + ORDER BY

java - 无法在 JSF 中链接到 CSS 中的图像

jakarta-ee - 生成keycloak用户设置页面URL

java - NoClassDefFound错误: org/springframework/jdbc/core/RowMapper

java - 为什么等待/通知没有发生在这里?

java - 如何将相机固定在玩家身上,以便当玩家移动时相机也会跟随

jakarta-ee - EJBCLIENT000025 : No EJB receiver available for handling?