gpt4 book ai didi

java - 类路径上多个 jndi.properties 的排序

转载 作者:行者123 更新时间:2023-11-30 09:56:25 25 4
gpt4 key购买 nike

我有一个获取错误初始上下文的 jboss 网络服务。我希望它使用服务根目录中 jndi.properties 中的 java.naming.factory.initial 而不是 jboss jndi.propertiesNamingContextFactory。在 ant 构建文件中,我将 jndi.properties 放在类路径中,并确保它复制到存档中,但服务仍然获取 NamingContextFactory。我如何判断使用了哪个 jndi.properties 以便正确设置工厂?

不幸的是,我有一个第三方 jar,我必须使用它,它期望它的初始上下文工厂是在其打包的 jndi.properties 文件中指定的工厂,但是当我在 jboss 中运行它时它获取 NamingContextFactory。我无法更改 jboss jndi.properties 文件而不破坏所有内容。

最佳答案

如果在类路径的根目录中有多个 jndi.properties 文件,那么 InitialContext 将尝试合并这两个文件,但哪个更胜一筹更少的机会问题。

如果您想确定,InitialContext 有一个构造函数,该构造函数采用 Hashtable 属性,您可以在其中明确指定它们。在这种情况下,这比通过 jndi.properties 进行隐式加载更可取。您始终可以将目标 jndi.properties 加载到 Properties 对象(它是 Hashtable 的子类),并将其传递给构造函数。

关于java - 类路径上多个 jndi.properties 的排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2367198/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com