gpt4 book ai didi

jboss - 如何在不使用 JMS Wrapper 的情况下使用 HornetQ 核心 API 模拟 JMS 主题

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

我想使用 HornetQ 核心 API 翻译 JMS 主题的概念。

我从简短的检查中看到的问题是主类 JMSServerManagerImpl(来自 hornetq-jms.jar)使用 jndi 来协调它需要的各种协作者。我想避免使用 jndi,因为它不是自包含的,并且是一个全局共享对象,这在 osgi 环境中尤其是一个问题。一种替代方法是从 JMSServerManagerImpl 开始复制,但这似乎需要大量工作。

我宁愿确认我模拟 hornetq 中如何支持主题的方法是解决此问题的正确方法。如果有人有足够的知识,也许他们可以评论我认为使用核心 api 编写我自己的主题模拟的方法。

假设

  • 如果消息消费者失败(通过回滚),容器将尝试将消息传递给同一主题的另一个不同消费者。

仿真

  1. 包装为主题添加的每条消息。
  2. 发件人发送带有确认处理程序集的消息。
  3. (1) 的包装器将在真正的监听器返回后回滚。
  4. 然后发件人确认送达

我假设在 4 之后,消息在被提供给所有消息接收者之后被传送。如果我犯了任何错误或我的假设是错误的,请发表评论。我不确定这种关于确认如何工作的假设是否正确,所以任何指针都会很好。

最佳答案

如果您正在尝试弄清楚如何使用核心 API 向多个消费者发送消息;这是我推荐的

  1. 创建队列 1 并绑定(bind)到地址 1
  2. 创建队列 2 并绑定(bind)到地址 1
  3. 创建队列N并绑定(bind)到地址1

  4. 在地址 1 上发送消息

  5. 启动 N 个消费者,每个消费者监听队列 1-N

这样它基本上就像一个主题。

关于jboss - 如何在不使用 JMS Wrapper 的情况下使用 HornetQ 核心 API 模拟 JMS 主题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4578272/

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