ActiveMQ使用JNDI自动发现所有已部署的队列和主题

时间:2013-12-19 10:16:57

标签: activemq jndi

是否可以通过JNDI发现所有ActiveMQ队列和主题?使用“list”方法可以使用HornetQ获取它们。我想为多个代理实现一个JMS客户端,并且不喜欢在jndi.properties中预先配置所有队列。

Properties props = new Properties();    
props.setProperty("java.naming.factory.initial","org.apache.activemq.jndi.ActiveMQInitialContextFactory");
props.setProperty("java.naming.provider.url", "tcp://localhost:61616");

Context context = new InitialContext(props);

NamingEnumeration<NameClassPair> names = ctx.list(jndiPrefix);

1 个答案:

答案 0 :(得分:0)

activemq initialContext工厂实现了一个与代理无关的简单散列映射,因为代理将按需创建任何目标,除非授权阻止该行为。 您可以使用动态上下文 - dynamicQueues / FOO.BAR或dynamicTopics / FOO.BAR来访问名为FOO.BAR的目标,而无需任何其他配置。 请参阅文档1中的jndi-support以获取更多详细信息。