Maj*_*imi 1 jms publish-subscribe hornetq
我读了很多关于hornetQ文档的内容.有人可以给出一个确切的例子来在hornetQ中创建一个JMS主题.我的意思是在XML配置hornetq-jms.xml和hornetq-configuration.xml.假设我们有一个名为话题top和2级的用户名为:sub1,sub2.我得到的是我们应该定义两个队列(每个订户一个)并将它们绑定到一个实际上是主题名称的地址,但订阅者如何知道他们应该连接哪个?(他们只知道主题名称)
我认为你对HornetQ处理内部主题的方式感到困惑,这与JMS规范描述主题的方式形成鲜明对比.
让我们从JMS规范开始.在这里,您有一个主题,其中n个订阅者可以收听将由客户端发布的消息.在JMS中,我们仅以单数形式谈论目的地,例如.我们会发送消息到的主题,或在分别的队列.
HornetQ是一个JMS提供程序 - 一个实现JMS规范的服务器,因此Java客户端可以连接到它,并使用JMS-API.JMS提供程序可能会更改,但在使用其他JMS提供程序时代码仍然有效.
但是,HornetQ不会在内部区分目标(主题或队列),因为它试图成为通用的消息传递中间件.在HornetQ中,所有主题或队列都实现为"地址"和"队列".当您使用HornetQ API(CoreAPI)而不是JMS-API时,您必须处理这些事情.您应该阅读HornetQ文档中的地址部分:
在核心中,没有主题的概念,主题是仅限JMS的术语.相反,在核心中,我们只处理地址和队列.
例如,JMS主题将由绑定了许多队列的单个地址实现.每个队列代表该主题的订阅.JMS队列将实现为绑定一个队列的单个地址 - 该队列表示JMS队列.
有关如何通过HornetQ使用JMS主题的示例,我强烈推荐HornetQ本身附带的示例.在下载和解压缩hornetq存档之后,只需转到examples/jms/topic目录并查看readme.html,以获得如何实现以及如何执行示例(mvn verify)的简要概述.
| 归档时间: |
|
| 查看次数: |
5549 次 |
| 最近记录: |