Jboss7.1 MDB - 本地 JNDI 参考与全球 JNDI 参考

Posted

技术标签:

【中文标题】Jboss7.1 MDB - 本地 JNDI 参考与全球 JNDI 参考【英文标题】:Jboss7.1 MDB - local JNDI reference vs Global JNDI reference 【发布时间】:2014-02-04 11:22:29 【问题描述】:

我正在 JBoss7.1.1 应用服务器上部署我的 MDB (EJB3.1)。当我使用 @Resource 进行数据源注入时,我使用全局 JNDI 引用名称(ENC + 本地 JNDI 引用名称),它工作得很好。但是,从 book 的第 147 页我可以看到以下声明。

EJB 3 本质上假定所有使用的 JNDI 名称 在代码中是本地引用,并自动在名称前面加上 java: comp/env/ 前缀。

这实际上是不是说它首先查找全局 JNDI 引用,如果未找到,则假设它是本地 JNDI 引用,然后在 ENC 前面添加?还是这完全是特定于应用程序服务器的实现?全局 JNDI 名称必须使用 @Resource 的 mappedName 属性指定,但它与名称一起使用!

【问题讨论】:

【参考方案1】:

我对那个模糊陈述的解释是,在代码中您不需要添加 comp/env/ 部分,AS 会为您添加它。节省了一些重复输入。

【讨论】:

感谢您的回复。但是,我能听懂你说的。我正在为我的问题寻找详尽的答案。 首先,我通常会花一些时间在谷歌上搜索,然后再在这里发帖。其次,我的问题很清楚,知道 JNDI 在 JBoss7.1 EJB3.1 中的实际查找方式是如何工作的。

以上是关于Jboss7.1 MDB - 本地 JNDI 参考与全球 JNDI 参考的主要内容,如果未能解决你的问题,请参考以下文章

JBoss Wildfly 9,JNDI 异常

远程客户端访问部署在 JBOSS AS 中的 EJB 的 JNDI 循环(7.1.1 最终版)

Wildfly10中JMS队列的JNDI名称格式

arcgis如何打开mdb数据库

JMS 的 Spring 配置(Websphere MQ - SSL、Tomcat、JNDI、非 IBM JRE)

WildFly JNDI 查找部署在 WAR 中的本地 EJB