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