【问题标题】:Apache ActiveMQ Connect to a topic non-dynamicallyApache ActiveMQ 以非动态方式连接到主题
【发布时间】:2011-02-02 20:02:29
【问题描述】:

我已经设置了 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");

我想连接一个已经存在的主题而不动态创建该主题,如果它不存在,我该怎么做?

干杯,

皮特

【问题讨论】:

    标签: java static jms activemq


    【解决方案1】:

    虽然您不需要使用 AMQ 手动创建目的地,但您始终可以选择。基本上,您可以更改安全设置以仅允许管理员创建目标。请参阅 AMQ 常见问题解答:

    http://activemq.apache.org/how-do-i-create-new-destinations.html

    问候

    蒂姆 www.fusesource.com

    【讨论】:

      【解决方案2】:

      您实际上在做的只是连接到主题。 ActiveMQ 非常好,如果它以前不存在,它会为您创建主题。

      因此,要连接到已经存在的主题,只需执行您已经在执行的操作即可。

      【讨论】:

      • 对不起,如果我不清楚,但我希望 ActiveMQ 为我创建主题(如果它不存在)。我怎样才能做到这一点?
      猜你喜欢
      • 2020-10-24
      • 1970-01-01
      • 2016-08-02
      • 2017-12-06
      • 2017-10-07
      • 2012-02-12
      • 2012-03-22
      • 2018-10-24
      • 2016-08-21
      相关资源
      最近更新 更多