0

我正在使用 ActiveMQ 来存储稍后使用的消息。它按预期工作,但是我需要适应一个我无法弄清楚的特定场景。简短的问题是这样的。

有没有办法在队列上运行查询以找出具有特定标头值的所有消息?

详细的问题是这样的:

因此,有一组数据包含在多条消息中,并且要求只有在所有消息都进来之后才使用该数据。因此,如果数据集有 50 条消息,我需要等待这 50 条消息,然后读入它们。我在每条消息中添加标题以表示它们属于某个集合。像 "TotalSets"=50 , "SetId"=39 。如果特定批次的所有集合都已到达,我想编写一个线程来跟踪。

4

1 回答 1

1

NMS 是与 JMS 消息传递 API 等效的 .NET,因此过滤消息的方法与 JMS 中的相同,您的订阅在创建时应用JMS 消息选择器以告诉代理它感兴趣的消息。创建 MessageConsumer 的会话方法实例具有使用 JMS 定义的语法接受选择器的变体,这是您过滤消息的方法。

于 2018-12-18T16:48:58.833 回答