ActiveMQ:如何订阅/取消订阅非持久订阅

时间:2015-06-09 10:38:20

标签: java activemq subscribe unsubscribe

我必须为一所大学课程做一个项目,因为我无法找到一个简单问题的澄清:

如何正确订阅和取消订阅某个主题作为非持久订阅者?这听起来很简单,但是对于耐用的,有一种取消订阅的方法,我只是不知道如何使用非耐用的。

我想要做的是能够随意分包,取消订阅和重新订阅任何主题。我发现一篇帖子说你应该使用consumer.close();取消订阅,但后来我不知道如何重新订阅。 consumer.start();不被识别为命令(使用者是MessageConsumer类的实例)。

所以 unsubscribe = consumer.close(); //正确?

取消订阅=消费者后重新订阅。??? 或者每次重新订阅时我是否需要创建新的消费者?

编程语言:Java

2 个答案:

答案 0 :(得分:1)

对于非持久主题订阅,不存在重新订阅的问题。您要么订阅了活动,要么就是您没有订阅。订阅您创建一个消费者,当消费者处于活动状态时,他们将接收发送到主题的消息,以删除您关闭消费者的订阅。如果您随后决定要订​​阅并收听主题消息,则会创建一个新的消费者,这是一个全新的订阅,只会再次接收该订阅者处于活动状态时发送的消息。

答案 1 :(得分:1)

对于非持久订阅,您只需要执行:

consumer.close()

这就是说here