gpt4 book ai didi

java - 使用什么来重播 ActiveMQ 中的消息以及为什么?

转载 作者:太空宇宙 更新时间:2023-11-04 06:31:51 24 4
gpt4 key购买 nike

我的用例需要我将在一个目的地发送的消息重播到另一个(一个或多个)目的地。

可以有四种可能的组合:

  1. Topic -> Topic (CompositeTopic)
  2. Topic -> Queue (CompositeTopic, VirtualTopic)
  3. Queue -> Topic (CompositeQueue, MirroredQueue)
  4. Queue -> Queue (CompositeQueue)

除了列出的方法之外,还有其他方法可以重播消息吗?

在 Topic -> Queue CompositeTopic 或 VirtualTopic 的情况下使用哪一个?什么时候以及为什么?

在队列 -> 主题 CompositeQueue、MirroredQueue 的情况下使用哪一个?何时以及为何

同一件事提供了不同的功能,因此必须存在一些无法发现的细微差异。有人可以分享这方面的信息吗?

最佳答案

您列出了基本的“一对多”选项。

    • 虚拟主题是自动的、开箱即用的主题->队列订阅。它们工作得非常好,解决了一些常规主题/持久订阅无法解决的问题。然而,虚拟主题基于命名约定,因此您需要坚持您配置的任何约定 - 这在某些情况下可能是一个缺点。
    • 如果您觉得需要更动态的方式来控制哪些队列应订阅某个主题,那么只需恢复为复合即可。
    • 镜像队列并不是真正用于重新路由。它更像是一个管理工具,用于窃听所有队列以监控通过代理传递的消息。
    • 复合队列是处理一对多目的地的最简单方法。

然而,ActiveMQ来了bundledApache Camel 。如果您想要有一组更丰富的选项来分派(dispatch)消息,您可以简单地将其发送到您有 Camel 路由监听的队列(或主题),然后将其分派(dispatch)给可能涉及的人。

关于java - 使用什么来重播 ActiveMQ 中的消息以及为什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26033029/

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