使用 Apache.NMS 从 C# (.net Core) 读取 ActiveMQ 虚拟主题中的'old'消息



如何使用Apache.NMS读取虚拟主题的消息?

在创建连接、会话和消费者之后,我会执行:"consumer.Receive((;".

在该代码运行时发送的消息会被接收,但在此之前已经在该主题上的任何消息都不会被接收。

我试着在主题中添加"?consumer.retract=true",但这似乎没有任何作用。

我见过使用持久订阅者的例子,但当使用虚拟主题时,我不应该这么做。

已解决:

问题是我读错了地方:我读的是一个主题,而我本应该读的是队列。

虚拟主题是主题,但您必须从消费者队列中使用它们。

因此,消息被推送到"VirtualTopic.YourTopicName",您应该从名为"Consumer.YourConsumerName.VirtualTopic.YourTopicName"的QUEUE中读取。(显然,在发布任何消息之前,该队列应该存在。(

"旧"信息之所以没有被阅读,是因为它们根本不在那里。

相关内容

最新更新