如何在WSO2 MB中为主题创建持久订阅者

时间:2012-12-21 04:02:13

标签: wso2 jmx

我使用WSO2 MB 2.0.1,我尝试将教程中提供的JMS Java订阅者扩展到  是一个耐用的订户。 然后停止jms客户端并向主题发送一些消息。但是当我 启动jms客户端,它不会收到消息。

有人可以告诉我如何创建持久订阅者。 我的要求是在jms用户上线时收到消息。

我的代码:     public void subscribe(String topicName){

    Properties initialContextProperties = new Properties();
    initialContextProperties.put("java.naming.factory.initial",
            "org.wso2.andes.jndi.PropertiesFileInitialContextFactory");
    String connectionString = "amqp://admin:admin@clientID/carbon?brokerlist='tcp://localhost:5672'";
    initialContextProperties.put("connectionfactory.qpidConnectionfactory", connectionString);
    initialContextProperties.put("topic.myWarning", "myWarning");

    try {
        InitialContext initialContext = new InitialContext(initialContextProperties);
        TopicConnectionFactory topicConnectionFactory =
                (TopicConnectionFactory) initialContext.lookup("qpidConnectionfactory");
        TopicConnection topicConnection = topicConnectionFactory.createTopicConnection();
        //topicConnection.setClientID("clientID");
        topicConnection.start();
        TopicSession topicSession =topicConnection.createTopicSession(false, Session.AUTO_ACKNOWLEDGE);

        //Topic topic = topicSession.createTopic(topicName);
        Topic topic =(Topic) initialContext.lookup(topicName);
        TopicSubscriber topicSubscriber =
                topicSession.createDurableSubscriber(topic, "tom");
        TextMessage receivedMessage = (TextMessage)topicSubscriber.receive();
        System.out.println(receivedMessage);
       // topicSubscriber.setMessageListener(new JCOMessageListener(
        //        topicConnection, topicSession, topicSubscriber));

    } catch (NamingException e) {
        e.printStackTrace();
    } catch (JMSException e) {
        e.printStackTrace();
    }
}

2 个答案:

答案 0 :(得分:0)

您的JMS客户端完全有效。

WSO2 MB 2.0.1中的持久主题订阅存在错误。我们已经修复了WSO2 MB 2.1.1版本,该版本将在今后一个月内发布。

感谢。

答案 1 :(得分:0)

该链接可能对您有帮助,

使用WSO2 ESB 4.6.0到WSO2 Message Broker 2.1.0进行持久主题订阅 http://abeykoon.blogspot.tw/2013/04/make-durable-topic-subscriptions-using.html