stomp协议用于持久订阅的常规序列

时间:2012-05-23 13:26:16

标签: stomp

我正在使用stomp协议使用活动mq实现作为stomp服务器/代理。我希望有一个stomp客户端的消息队列,可以在客户端离线时填充,这样当客户端不时连接时,它可以获取在离线时存放的按摩。

正如我所读到的,这可以通过简单订阅或持久订阅来实现。我决定持久订阅。这是正确的方法吗?

然后我想知道我应该在客户端使用哪些消息和标题。其实我正在使用以下

CONNECT

  • 登录:
  • 密码:
  • client-id:some_mac_adr

SUBSCRIBE

  • 目的地:/ queue / some_mac_adr
  • 收据:receipt-msg
  • durable-subscriber-name:default

正在等待消息

超时 - >

DISCONNECT

此消息序列是否正确?我还没有使用unsubscribe命令。这也是正确的吗?

1 个答案:

答案 0 :(得分:1)

  

我决定持久订阅。这是正确的方法吗?

默认情况下,队列是持久的,因此您不必明确地使用户持久。

关于标题,正如我所说,由于您不需要使持久性持久,您可以避免传递durable-subscriber-name标头。并且,不确定这是否是偶然的,但您不需要保持队列名称和客户端ID相同。

BTW,你正在使用哪种语言?不同语言的STOMP实现应该处理合理的默认值,因此您不必担心CONNECT,SUBSCRIBE等的标题。

  

我还没有使用unsubscribe命令。这也是正确的吗?

同样,unsubscribe()对队列没有太大影响,但是当消费者完成其工作时,取消订阅更为清晰。

我希望这有助于你的情况。