用于持久订阅的 stomp 协议常规序列
Posted
技术标签:
【中文标题】用于持久订阅的 stomp 协议常规序列【英文标题】:stomp protocol regular sequences for durable subscription 【发布时间】:2012-05-30 01:24:24 【问题描述】:我正在使用活动 mq 实现作为 stomp 服务器/代理来使用 stomp 协议。我想要一个 stomp 客户端的消息队列,可以在客户端离线时填充,这样当客户端不时连接时,它可以获取离线时已存放的消息。
正如我所读到的,这可以通过简单订阅或持久订阅来实现。我决定持久订阅。这是正确的方法吗?
然后我想知道我应该在客户端使用哪些消息和标头。其实我正在使用以下
连接
登录: 密码: 客户端 ID:some_mac_adr订阅
目的地:/queue/some_mac_adr 收据:收据-msg 持久订阅者名称:默认正在等待消息
超时 -->
断开连接
这个消息顺序正确吗?此外,我没有使用取消订阅命令。这也正确吗?
【问题讨论】:
记得接受以最佳方式回答您问题的答案。 【参考方案1】:我决定持久订阅。这是正确的方法吗?
默认情况下,队列是持久的,因此您不必显式地使消费者持久。
关于标头,正如我所说,由于您不需要使消费者持久,因此可以避免传递耐用订阅者名称标头。而且,不确定这是否是偶然的,但您不需要保持队列名称和客户端 ID 相同。
顺便说一句,您使用的是哪种语言?不同语言的 STOMP 实现应该注意合理的默认值,因此您无需担心 CONNECT、SUBSCRIBE 等的标头。
此外,我没有使用取消订阅命令。这也正确吗?
同样,unsubscribe() 对队列没有太大影响,但是当消费者完成其工作时取消订阅会更干净。
希望对你的情况有所帮助。
【讨论】:
以上是关于用于持久订阅的 stomp 协议常规序列的主要内容,如果未能解决你的问题,请参考以下文章