如何在WildFly 24中基于ActiveMQ Artemis配置JMS队列
问题根因
你遇到的启动报错是因为WildFly 24默认使用Elytron作为安全框架,messaging-activemq子系统的default服务默认依赖的legacy安全域other没有预注册;同时你直接覆盖整个messaging子系统的配置属于错误操作,不仅会丢失原有基础配置,还会引发资源定义冲突。
正确配置步骤
- 第一步:还原你修改的
standalone-full.xml、standalone-full-ha.xml中的messaging-activemq子系统配置,保留默认的预配置内容,不要全量替换。
默认的standalone-full.xml中messaging-activemq子系统已经内置了default服务、各类connector、连接工厂的配置,无需手动重复定义。 - 第二步:仅在原有子系统的
<server name="default">节点内部,补充两项配置:- 新增安全域指定,关联WildFly默认预配置的Elytron安全域,避免依赖legacy安全域:
<security enabled="true" security-domain="ApplicationDomain"/>- 新增自定义JMS队列配置:
<jms-queue name="testQueue" entries="jms/queue/test java:jboss/exported/jms/queue/test" /> - 第三步:保存配置后重启服务器即可正常启动,启动后可通过jboss-cli执行
jms-queue list命令验证队列是否注册成功。
补充说明
如果你的场景不需要开启JMS安全校验,也可以直接将<security>的enabled属性设为false,无需指定安全域即可直接启动。
内容的提问来源于stack exchange,提问作者ram4sof
相关产品推荐
相关产品推荐

