Я новичок в activemq. T хочу задать вопрос по темам Activemq. Мне удается получить сообщение из очереди. Также я могу отправить сообщение в тему/Очередь, но я не могу получить сообщение из темы.Невозможно использовать сообщение из темы в activemq
Я пробовал использовать 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 имеет сообщений. Как я могу использовать сообщение темы?
У меня есть немного. Сначала мне нужно создать прочного consuemer для темы. Затем отправьте сообщение на тему. Сообщения будут получены прочным потребителем, не зависимым от онлайн или офлайн? Я также хочу задать разницу между методом «Receive()» и «consumer.Listener». – Yolanda
Я тестирую два метода. Программа читает только одно сообщение из очереди или темы. Затем пропустите программу. Абоненты прочной темы не могут получать сообщение в автономном режиме. Только получать сообщение в режиме онлайн (только одно сообщение). Я плохо разбираюсь в английском. Я стараюсь объяснить свой вопрос и понять ваш ответ. Большое спасибо. – Yolanda