2012-05-23 45 views
0

我正在使用活动mq实现作为stomp服务器/代理的stomp协议。我希望有一个stomp客户端的消息队列,可以在客户端处于脱机状态时进行填充,以便当客户端不时连接时,它可以获取在脱机时已存入的消息。用于持久订阅的stomp协议常规序列

当我阅读时,可以使用简单订阅或持久订阅来实现此功能。我决定持久订阅。这是正确的方式吗?

然后我想知道我应该在客户端使用哪些消息和头文件。其实我用下面

CONNECT

  • 登录:
  • 密码:
  • 客户端ID:some_mac_adr

订阅

  • 目的地:/队列/ some_mac_adr
  • 收据:收据味精
  • 耐用,用户名:默认

现在等待消息

超时 - >

断开

这是消息序列正确吗?我还没有使用取消订阅命令。这是否正确?

+0

请记住接受以最佳方式回答您的问题的答案。 – Buchi

回答

1

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

队列在默认情况下是持久的,因此您不必显式地使用户持久化。

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

顺便说一句,您正在使用哪种语言?不同语言的STOMP实现应该采取合理的默认设置,因此您不必担心CONNECT,SUBSCRIBE等标头。

我还没有使用unsubscribe命令。这是否正确?

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

我希望能帮助你的情况。