gpt4 book ai didi

java - 如何区分同一个队列中的不同JMS文本消息?

转载 作者:行者123 更新时间:2023-12-02 01:31:13 26 4
gpt4 key购买 nike

我正在连接一个 AMQ 队列。发布者正在发送 JMS TextMessage。消息有不同的类型:foo-updated、bar-updated、baz-updated 等,全部位于单个队列上。

所有类型的有效负载/消息正文都是 JSON,并且它们的架构有显着的重叠(但没有直接类型信息)。

发布团队表示“在消息的字符串/文本中搜索 foo,如果存在,则这是一条 foo 更新的消息”。

这听起来不对。

我可以使用的 JMS 消息中可能有 header 信息(我正在探索这一点),但假设我可以影响(但不一定改变任何内容),那么处理此问题的最佳方法是什么?

最佳答案

如果您对使用 JMS 主题有影响力,则应该使用它。就像 REST URL 一样,您可以使用主题来指示资源和对这些资源的操作:foo/create、foo/update、bar/update然后,JMS Broker 可以帮助您有效地将不同的消息路由到不同的消费者。例如。一个消费者订阅 foo/* 另一个消费者订阅 */update

如果您遇到队列问题,发布者应添加附加信息作为 header 属性,例如 type=foo 和 action=update。然后,您的消费者可以指定 JMS 选择器(例如“action = 'update'”)来仅接收部分消息。

否则你实际上会陷入查看内容的困境:-(

关于java - 如何区分同一个队列中的不同JMS文本消息?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56026403/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com