JNDI是从字符串名称检索/存储数据或对象的方法。此功能由运行应用程序的容器提供。
ApplicationContext
允许从字符串名称创建和检索bean。
两者都有类似的需求。然而,Spring提供了从JNDI检索对象的方法。也可以通过JndiTemplate
访问JNDI。
真的需要在Spring中使用JNDI吗? ApplicationContext
没有解决哪个问题?
答案 0 :(得分:4)
应用程序上下文无法帮助您查找REMOTE对象。它只会查找当前应用程序中的对象,这些对象不是远程的。
请参阅以下“Context.PROVIDER_URL”。您可以访问REMOTE对象,如EJB或RMI或JMS等。此外,您可以访问由Java EE容器管理的任何资源,例如DataSource。
ht.put(Context.INITIAL_CONTEXT_FACTORY, "weblogic.jndi.WLInitialContextFactory");
ht.put(Context.PROVIDER_URL,"t3://HOSTNAME:PORT");
答案 1 :(得分:3)
这是一个范围问题。 Spring的范围仅限于容器内的应用程序。 JNDI是一个全局命名API,可以插入许多不同的命名/目录体系结构。