我可以存储和读取来自 STOMP 队列/主题的消息吗?
Posted
技术标签:
【中文标题】我可以存储和读取来自 STOMP 队列/主题的消息吗?【英文标题】:Can i store and read messages from STOMP queue/topic? 【发布时间】:2016-03-29 20:59:58 【问题描述】:我已经设置了一个简单的 Spring 应用程序,它连接到一个正在运行的 HornetQ 实例并将一系列消息发送到一个预定义的队列。问题是客户端(HornetQ 附带的简单 websocket 客户端)只有在它已经订阅队列时才接收消息。 有没有办法将消息存储在 STOMP 队列中,然后在与消费者连接时读取它们?
我查看了 HornetQ 和 Stomp 文档,但由于我真的不知道我在寻找什么,我只找到了“保留”标头,它似乎是 ActiveMQ 专有的,并且只保留最后一条消息在主题中。
【问题讨论】:
【参考方案1】:似乎 HornetQ 支持所有与 ActiveMQ 相同的标头,但在文档中没有提及。 所以,这是我必须指定的标题:
destination:<my-queue>
id:<some-id>
durable:true //this enables durability
auto-delete:false //this ensures queue won't get deleted
将这些标头传递给 StompSession session.send(),它就像一个魅力。消费者方面不需要进行额外的更改。
【讨论】:
以上是关于我可以存储和读取来自 STOMP 队列/主题的消息吗?的主要内容,如果未能解决你的问题,请参考以下文章
作为客户端,如何获取 Stomp 队列或/和主题(它们的名称)列表?