1

JNDI 是一种从字符串名称中检索/存储数据或对象的方法。此功能由运行应用程序的容器提供。

ApplicationContext允许从它们的字符串名称创建和检索 bean。

两者都满足相似的需求。然而,Spring 提供了从 JNDI 检索对象的方法。也可以通过JndiTemplate.

在 Spring 中是否真的需要使用 JNDI?它解决了哪些问题没有解决ApplicationContext

4

2 回答 2

4

Application Context 不会帮助您查找 REMOTE 对象。它只会在当前应用程序中查找不是远程的对象。

请参阅以下“Context.PROVIDER_URL”。您可以访问远程对象,例如 EJB 或 RMI 或 JMS 等。此外,您可以访问由 Java EE 容器管理的任何资源,例如数据源。

ht.put(Context.INITIAL_CONTEXT_FACTORY, "weblogic.jndi.WLInitialContextFactory");
ht.put(Context.PROVIDER_URL,"t3://HOSTNAME:PORT");
于 2012-07-03T17:17:01.213 回答
3

这是范围的问题。Spring 的范围仅限于您在其容器内的应用程序。JNDI 是一个全局命名 API,可以插入到许多不同的命名/目录架构中。

于 2012-07-03T17:15:51.940 回答