JNDI 名称——是不是需要前缀“jdbc/”?

Posted

技术标签:

【中文标题】JNDI 名称——是不是需要前缀“jdbc/”?【英文标题】:JNDI Names -- Is Prefix "jdbc/" needed?JNDI 名称——是否需要前缀“jdbc/”? 【发布时间】:2010-12-14 17:24:44 【问题描述】:

JNDI 名称是怎么回事?我正在尝试使用 Java 5 的新注释功能获取 javax.sql.DataSource。它不适合我,所以我想问...

我的 web.xml 中有一个,里面是一个元素。我在“jdbc/MyDB”和“MyDB”之间切换。两者都不能使我的基于类的 DataSource 工作(它始终为 null),但在我使用 taglibs 创建的另一个示例中,这两个 JNDI 名称都工作。

【问题讨论】:

【参考方案1】:

不,不是。这只是约定,以便每个人都清楚它是什么资源。

您甚至可以将其命名为 k34ug6i2u3dn234uy5f,但这会导致未来的维护问题。

【讨论】:

但是如果资源被明确命名为“jdbc/MyResource”呢?它应该被称为“jdbc/MyResource”吗?还是“MyResource”就足够了?我们有一个奇怪的问题......资源是使用“jdbc/”前缀创建的,但在代码中它的引用没有一个。应用程序运行正常,但 Arquillian 测试失败:(

以上是关于JNDI 名称——是不是需要前缀“jdbc/”?的主要内容,如果未能解决你的问题,请参考以下文章

JNDI的初步理解

jndi 原理

jndi是啥

jndi注入不出网

如何使用给定的 JNDI 名称连接到 Websphere 数据源?

WebSphere中配置的数据源在Web应用中引用的写法