【问题标题】:Which issue does JNDI solve that ApplicationContext does not solve in Spring?JNDI 解决了 Spring 中 ApplicationContext 没有解决的哪个问题?
【发布时间】:2012-07-03 17:05:03
【问题描述】:

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

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

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

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

【问题讨论】:

    标签: java spring jndi applicationcontext


    【解决方案1】:

    应用程序上下文不会帮助您查找远程对象。它只会在当前应用程序中查找对象,而不是远程对象。

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

    ht.put(Context.INITIAL_CONTEXT_FACTORY, "weblogic.jndi.WLInitialContextFactory");
    ht.put(Context.PROVIDER_URL,"t3://HOSTNAME:PORT");
    

    【讨论】:

      【解决方案2】:

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-01-12
        相关资源
        最近更新 更多