所以我有一个简单的JMS应用程序,使用一个由activeMQ驱动的主题。它工作正常,但只发送了一条消息(即使我在控制台中写了更多行,所以试图发送更多东西)。
当我检查ActiveMq的Web控制台时,只发送了一条消息(我也在ReceiverTopic类中收到此消息)...为什么会发生这种情况?
您可以在下面看到我的发件人代码:
std::remove_if
答案 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();
}
}
}