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

WildFly/JBoss EAP迁移EJB2时JMS资源匹配ejb-jar.xml命名问题

错误根因

部署失败的核心原因是JNDI路径不匹配。JBoss EAP处理EJB2部署描述符中的资源引用时,默认会将res-ref-name和resource-env-ref-name定义的相对路径,放到java:jboss/resources/命名空间下查找。
从报错信息可以明确看到容器实际需要的资源路径为:

  • java:jboss/resources/jms/customQueueFactory
  • java:jboss/resources/jms/customQueue
    而你在消息组件配置中给JMS资源绑定的JNDI路径是java:/jms/xxx,两者不一致因此触发依赖缺失错误。
解决方案(无需修改原有业务代码和ejb-jar.xml)

只需要调整standalone-full.xml中的JMS资源配置,给资源新增匹配容器查找规则的JNDI别名即可,entries属性支持同时配置多个绑定路径:

<connection-factory name="customQueueFactory" entries="java:/jms/customQueueFactory java:jboss/resources/jms/customQueueFactory" connectors="in-vm"/>
<jms-queue name="customQueue" entries="java:/jms/customQueue java:jboss/resources/jms/customQueue"/>

该配置保留了你原有java:/jms/xxx的绑定路径,原有直接引用该路径的逻辑不受影响,同时新增的别名可以匹配EJB2资源引用的查找规则,完全符合你第一阶段尽可能少改代码的要求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 01:09:01