我想使用 HornetQ 核心 API 翻译 JMS 主题的概念。
我从简短的检查中看到的问题是主类 JMSServerManagerImpl(来自 hornetq-jms.jar)使用 jndi 来协调它需要的各种协作者。我想避免使用 jndi,因为它不是自包含的,并且是一个全局共享对象,这在 osgi 环境中尤其是一个问题。一种替代方法是从 JMSServerManagerImpl 开始复制,但这似乎需要做很多工作。
我宁愿确认我模拟 hornetq 如何支持主题的方法是解决这个问题的正确方法。如果有人有足够的知识,也许他们可以评论我认为使用核心 api 编写我自己的主题模拟的方法。
假设
- 如果消息消费者失败(通过回滚),容器将尝试将消息传递给同一主题的另一个不同消费者。
仿真
- 包装为主题添加的每条消息。
- 发件人发送带有确认处理程序集的消息。
- (1) 的包装器将在真正的侦听器返回后回滚。
- 然后发件人确认送达
我假设在 4 之后将味精发送给所有味精接收者。如果我犯了任何错误或我的假设是错误的,请发表评论。我不确定这种关于确认如何工作的假设是否正确,所以任何指针都会很好。