我是activemq的新手。 T想問一個關於Activemq主題的問題。我成功地從隊列中獲取消息。此外,我可以將消息發送到主題/隊列,但我無法從Topic獲得消息。無法使用activemq中Topic的消息
我試過使用Java代碼。結果是一樣的。
以下是我的核心代碼:
connection.ClientId = clientId;
connection.Start();
using (ISession session = connection.CreateSession())
{
ITopic topic = new Apache.NMS.Commands.Topic(topicName);
IDestination destination = SessionUtil.GetDestination(session, topicName,
DestinationType.Topic);
using (IMessageConsumer consumer = **session.CreateDurableConsumer**(topic, "news", null, false))
{
**consumer.Listener += new MessageListener(consumer_Listener);**
//**IMessage iMsg = consumer.Receive();**
// if (iMsg != null)//{
// ITextMessage msg = (ITextMessage)iMsg;
// return msg.Text;
// }
//else
//return iMsg;
}
}
我也使用:IMessage iMsg = consumer.Receive();
IMsg
總是空(topicname有消息。我如何消費主題的消息?
我有一點點。我需要首先爲Topic創建一個持久的顧客。然後將消息發送給主題。消息將由在線或離線的耐用消費者接收?我也想問一下「Receive()」和consumer.Listener的方法之間的區別。 – Yolanda
我測試了兩種方法。程序只從隊列或topic中讀取一條消息,然後跳過程序。持久主題訂閱者不能接收離線消息。只接收在線消息(只有一條消息)。我不擅長英語。我盡力解釋我的問題並理解你的答覆。非常感謝。 – Yolanda