我已经设置了ActiveMQ,我可以使用“dynamicTopics / MyTopic”创建/连接主题。这非常有效:
Properties env = new Properties( );
env.setProperty(Context.INITIAL_CONTEXT_FACTORY,"org.apache.activemq.jndi.ActiveMQInitialContextFactory");
env.setProperty(Context.PROVIDER_URL,"tcp://myhostname:xxxxx");
javax.naming.Context ctx = new InitialContext(env);
InitialContext jndi = new InitialContext(env);
// Look up a JMS connection factory
TopicConnectionFactory conFactory = (TopicConnectionFactory)jndi.lookup("TopicConnectionFactory");
// Create a JMS connection
TopicConnection connection = conFactory.createTopicConnection(username,password);
Topic chatTopic = (Topic)jndi.lookup("dynamicTopics/MyTopic");
我想连接到一个已经存在的主题而不动态创建主题(如果它不存在),我该怎么办?
干杯,
皮特
答案 0 :(得分:0)
您实际所做的只是连接到主题。 ActiveMQ非常好,如果以前不存在,它会为你创建主题。
因此,要连接到现有主题,只需执行与您正在执行的操作相同的操作。
答案 1 :(得分:0)
虽然您不需要使用AMQ手动创建目的地,但您始终拥有该选项。基本上,您可以更改安全设置以仅允许管理员创建目标。请参阅AMQ常见问题解答:
http://activemq.apache.org/how-do-i-create-new-destinations.html
此致
添 www.fusesource.com