You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

WildFly嵌入式ActiveMQ Artemis配置与连接故障排查求助

嵌入式ActiveMQ Artemis连接失败排查

我正在运行独立WildFly服务器,想配置嵌入式ActiveMQ Artemis,但不确定配置是否正确。尝试连接tcp://localhost:8081时没有任何响应,希望能找到问题原因或排查工具。

相关配置片段(standalone-full.xml)

<server>
    ...
    <profile>
        ...
        <subsystem xmlns="urn:jboss:domain:messaging-activemq:13.1">
            <server name="default">
                ...
                <http-connector name="http-connector" socket-binding="activemq" endpoint="http-acceptor"/>
                <http-connector name="http-connector-throughput" socket-binding="activemq" endpoint="http-acceptor-throughput">
                    <param name="batch-delay" value="50"/>
                </http-connector>

                <http-acceptor name="http-acceptor" http-listener="activemq"/>
                <http-acceptor name="http-acceptor-throughput" http-listener="activemq">
                    <param name="batch-delay" value="50"/>
                    <param name="direct-deliver" value="false"/>
                </http-acceptor>
                ...
            </server>
        </subsystem>
        ...
        <subsystem xmlns="urn:jboss:domain:undertow:12.0" default-server="default-server" default-virtual-host="default-host" default-servlet-container="default" default-security-domain="other" statistics-enabled="${wildfly.undertow.statistics-enabled:${wildfly.statistics-enabled:false}}">
            <server name="default-server">
                ...
                <http-listener name="activemq" socket-binding="activemq" enable-http2="true"/>
                ...
            </server>
        </subsystem>
        ...
    </profile>
    ...
    <socket-binding-group name="standard-sockets" default-interface="public" port-offset="${jboss.socket.binding.port-offset:0}">
        ...
        <interface name="management">
            <inet-address value="${jboss.bind.address.management:127.0.0.1}"/>
        </interface>

        <socket-binding name="managemnet" interface="activemq-interface" port="${jboss.activemq.port:8081}"/>
        ...
    </socket-binding-group>
</server>

补充信息

  • 之前使用标准配置时收到错误:

    AMQ122005: Invalid "host" value "0.0.0.0" detected for "http-connector" connector.

  • 不清楚Artemis的标准端口是否为localhost:9990
  • 版本信息:
    应用版本
    Artemis2.19.1
    Wildfly26.1
  • 尝试通过Quarkus JMS示例连接

问题排查与修复建议

1. 配置中的明显错误

  • Socket Binding拼写错误:配置的socket-binding名称是managemnet(少一个e),但HTTP连接器和监听器引用的是activemq,导致绑定不匹配。修正为:
    <socket-binding name="activemq" interface="public" port="${jboss.activemq.port:8081}"/>
    
  • 接口未定义:配置中引用了activemq-interface但未定义,需在socket-binding-group内添加:
    <interface name="activemq-interface">
        <inet-address value="${jboss.bind.address.activemq:127.0.0.1}"/>
    </interface>
    

2. 连接协议不匹配

当前配置的是HTTP连接器/接受器,但你用tcp://协议连接,自然无响应:

  • HTTP连接器对应的连接URL应为http://localhost:8081
  • 如果需要TCP连接,需添加原生TCP连接器配置:
    <!-- 在messaging-activemq子系统内添加 -->
    <tcp-connector name="tcp-connector" socket-binding="artemis-tcp"/>
    <tcp-acceptor name="tcp-acceptor" socket-binding="artemis-tcp"/>
    
    同时添加对应的socket binding:
    <socket-binding name="artemis-tcp" interface="public" port="${jboss.artemis.tcp.port:61616}"/>
    
    此时TCP连接URL为tcp://localhost:61616

3. 端口混淆说明

  • WildFly管理控制台默认端口是9990,和Artemis无关;
  • Artemis原生TCP默认端口通常为61616,HTTP连接器一般复用WildFly HTTP端口(如8080),你这里配置的是8081。

4. 实用排查工具

  • WildFly日志:查看standalone/log/server.log,里面会有Artemis启动失败、绑定异常的详细信息;
  • 端口检测:用netstat -anp | grep 8081(Linux)或netstat -ano | findstr 8081(Windows)检查端口是否被监听;
  • CLI测试:用jboss-cli.sh(或.bat)连接WildFly,执行/subsystem=messaging-activemq/server=default/connection-factory=InVmConnectionFactory:test-connection()测试内部连接是否正常;
  • Artemis控制台:在messaging-activemq子系统添加console配置后,可通过WildFly管理控制台查看Artemis状态。

5. 解决AMQ122005错误

该错误是因为HTTP连接器检测到host值为0.0.0.0,可在连接器中显式指定host参数:

<http-connector name="http-connector" socket-binding="activemq" endpoint="http-acceptor">
    <param name="host" value="127.0.0.1"/>
</http-connector>

内容的提问来源于stack exchange,提问作者Benny Dict

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.09 06:30:59