gpt4 book ai didi

java - ActiveMQInitialContextFactory 与 NamingContextFactory

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:24:20 24 4
gpt4 key购买 nike

我正在创建一个 java 企业应用程序,它使用 activemq 将消息发送到独立的队列代理。

我目前通过 jndi 查找保持对长期资源的访问,这种查找非常有效。我想通过 ActiveMQ 连接工厂和队列连接工厂继续这种模式,但是在 amq documentation 中它指定我的 jndi.properties 应该有:

java.naming.factory.initial = org.apache.activemq.jndi.ActiveMQInitialContextFactory

虽然默认的 jndi.properties(适用于我的简单对象和外观查找)具有:

java.naming.factory.initial=org.jnp.interfaces.NamingContextFactory

我可以将一个与另一个一起使用吗?我能否以某种方式拥有两个 jndi.properties 文件或两个初始上下文?

This问题显示如何通过 jndi 仅配置 activemq。我希望他们一起玩得很开心。

最佳答案

您可以创建任意数量的 InitialContext 对象。您只需将环境传递给它的 constructor正确初始化它。

因此您仍然可以安全地使用 jndi.properties 并使用如下代码初始化 activemq 的初始上下文:

public void setUpActiveMQResources() throws IOException, NamingException {
InitialContext context = createInitialContext("/activemq.jndi.properties");
// do what you want
}

public InitialContext createInitialContext(String resource) throws IOException, NamingException {
InputStream is = getClass().getResourceAsStream(resource);
Properties props = new Properties();
try {
props.load(is);
} finally {
is.close();
}
return new InitialContext(props);
}

activemq.jndi.properties 在这种情况下是类路径资源,其内容类似于 here

关于java - ActiveMQInitialContextFactory 与 NamingContextFactory,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8143843/

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