为什么我只收到一条消息?

时间:2016-08-12 08:42:03

标签: java jms activemq

所以我有一个简单的JMS应用程序,使用一个由activeMQ驱动的主题。它工作正常,但只发送了一条消息(即使我在控制台中写了更多行,所以试图发送更多东西)。

当我检查ActiveMq的Web控制台时,只发送了一条消息(我也在ReceiverTopic类中收到此消息)...为什么会发生这种情况?

您可以在下面看到我的发件人代码:

std::remove_if

1 个答案:

答案 0 :(得分:4)

最初jmsInitialized的值为false,因此您的if条件(!jmsInitialized)将为真。

在第二次调用sendMessage时,jmsInitialized的值将为true且if条件失败,因为您在布尔值上使用not

您只需拨打else即可添加sendTextMessage条件。

试试这个

private void sendMessage(String message) {
 try {
    if (!jmsInitialized) {
        initJMS();
        sendTextMessage(message);
    }else{
        sendTextMessage(message);
    }
    } catch (JMSException e) {
        jmsInitialized = false;
        e.printStackTrace();
    }
  }
}