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

WildFly 27服务器JMS队列插消息:JMeter配置报错排查

WildFly 27 + JMeter 5.5 JMS Publisher 配置问题解决

版本适配确认

WildFly 27 内置的 ActiveMQ Artemis 版本就是 2.28.x,你添加的 artemis-core-client-2.28.0.jar 版本完全适配,版本问题不是报错原因。

核心配置调整(解决 Invalid broker URL 错误)

1. 修正 JNDI 上下文工厂与 Provider URL

WildFly 内置的 Artemis 不能用独立 Artemis 的上下文工厂,必须使用 WildFly 专属的命名客户端:

  • Initial Context Factory:org.wildfly.naming.client.WildFlyInitialContextFactory
  • Provider URL:使用 WildFly 的远程连接格式,默认是 remote+http://<WildFly主机IP>:8080 或 remote://<WildFly主机IP>:8080(两者等价,基于 HTTP 升级协议)

    注意:不要用独立 Artemis 的 tcp://<IP>:61616,WildFly 内置 Artemis 默认不开放这个端口

2. 补充必要依赖

仅添加 artemis-core-client.jar 不够,WildFly 远程 JNDI 还需要命名客户端依赖:

  • 从 WildFly 安装目录的 bin/client/ 下复制 wildfly-client-all.jar 到 JMeter 的 lib/ 目录,重启 JMeter

    这个 jar 包含了所有远程连接所需的依赖(命名客户端、Artemis 客户端、认证组件等)

3. 配置正确的队列 JNDI 名称

确保你的队列在 WildFly 中绑定到远程可访问的命名空间:

  • 在 WildFly 的 standalone-full.xml(或 domain-full.xml)中,队列的 JNDI 绑定需要包含 java:jboss/exported/ 前缀,例如:
    <jms-queue name="YourQueueName" entries="java:jboss/exported/jms/queue/YourQueue java:/jms/queue/YourQueue"/>
    
  • JMeter 中填写的 Destination 应为 java:jboss/exported/jms/queue/YourQueue(远程访问必须用 exported 前缀的名称)

4. 配置认证信息

在 JMeter JMS Publisher 的 Connection Settings 中添加:

  • Security Principal:WildFly 中拥有 JMS 访问权限的用户名(比如默认的 admin,需确保该用户已添加 guest 或 jms-user 角色)
  • Security Credentials:对应用户的密码

验证 WildFly 连接器配置

检查 WildFly 的 standalone-full.xml 中是否存在正确的远程连接器:

<subsystem xmlns="urn:jboss:domain:messaging-activemq:14.0">
  <server name="default">
    <remote-connector name="http-connector" socket-binding="http">
      <param name="http-upgrade-endpoint" value="http-acceptor"/>
    </remote-connector>
    <!-- 其他配置 -->
  </server>
</subsystem>

默认的 http socket-binding 对应 8080 端口,若你修改过端口,需同步调整 Provider URL 中的端口号。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.22 15:55:20