我正在使用stomp协议使用活动mq实现作为stomp服务器/代理。我希望有一个stomp客户端的消息队列,可以在客户端离线时填充,这样当客户端不时连接时,它可以获取在离线时存放的按摩。
正如我所读到的,这可以通过简单订阅或持久订阅来实现。我决定持久订阅。这是正确的方法吗?
然后我想知道我应该在客户端使用哪些消息和标题。其实我正在使用以下
CONNECT
SUBSCRIBE
正在等待消息
超时 - >
DISCONNECT
此消息序列是否正确?我还没有使用unsubscribe命令。这也是正确的吗?
答案 0 :(得分:1)
我决定持久订阅。这是正确的方法吗?
默认情况下,队列是持久的,因此您不必明确地使用户持久。
关于标题,正如我所说,由于您不需要使持久性持久,您可以避免传递durable-subscriber-name标头。并且,不确定这是否是偶然的,但您不需要保持队列名称和客户端ID相同。
BTW,你正在使用哪种语言?不同语言的STOMP实现应该处理合理的默认值,因此您不必担心CONNECT,SUBSCRIBE等的标题。我还没有使用unsubscribe命令。这也是正确的吗?
同样,unsubscribe()对队列没有太大影响,但是当消费者完成其工作时,取消订阅更为清晰。
我希望这有助于你的情况。