gpt4 book ai didi

java - 我可以使用基于文件的上下文工厂 com.sun.jndi.fscontext.RefFSContextFactory 构建目录结构 (JNDI)

转载 作者:太空宇宙 更新时间:2023-11-04 08:49:25 25 4
gpt4 key购买 nike

使用com.sun.jndi.fscontext.RefFSContextFactory基于文件的 JNDI 上下文工厂,它似乎只允许在您指定的位置有 1 个绑定(bind)文件。例如

Hashtable properties = new Hashtable(2);
properties.put(Context.PROVIDER_URL,"file:///tmp/jms/mycontext");
properties.put(Context.INITIAL_CONTEXT_FACTORY, "com.sun.jndi.fscontext.RefFSContextFactory");
InitialContext ctx = new InitialContext(properties);

有没有办法为 comp.env 创建一个目录结构,以便每个目录都有一个绑定(bind)文件? (而不是在绑定(bind)文件本身中指定完整的上下文)

最佳答案

每个目录都是一个可以作为路径访问的子上下文。目录是分支节点,每个分支节点都包含一个 .bindings 作为其叶节点。每个分支可以恰好有一个叶子和零个或多个附加分支。

如何执行此操作取决于您使用的工具。我可以提供来自 WebSphere MQ 的 JMSAdmin 工具的示例,但其他工具的语法会略有(或完全)不同。由于我们的两个示例中都使用了 Sun 的 FSContext,因此尽管我们的管理工具在语法上可能有所不同,但上下文遍历的工作原理是相同的。

使用 JMSAdmin,您可以DEFINE CTX(subcontext_name),这将创建一个目录,在该目录下将驻留 .bindings 文件。然后,您可以CHANGE CTX(subcontext_name) 使该子上下文成为当前子上下文。您定义的任何内容现在都将位于该子上下文中的 .bindings 文件中。

在代码中,您将子上下文称为路径。例如,打开初始上下文后,您可以通过 subcontext_name/foo 查找对象。

WebSphere MQ Using Java 中有更多关于 IBM 实现的信息。 Manipulating Subcontexts 下的手册。尽管语法可能与您使用的不同,但该工具符合 JMS 并使用 com.sun.jndi.fscontext.RefFSContextFactory,因此原理是相同的。

关于java - 我可以使用基于文件的上下文工厂 com.sun.jndi.fscontext.RefFSContextFactory 构建目录结构 (JNDI),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3687982/

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