我必须为一所大学课程做一个项目,因为我无法找到一个简单问题的澄清:
如何正确订阅和取消订阅某个主题作为非持久订阅者?这听起来很简单,但是对于耐用的,有一种取消订阅的方法,我只是不知道如何使用非耐用的。
我想要做的是能够随意分包,取消订阅和重新订阅任何主题。我发现一篇帖子说你应该使用consumer.close();取消订阅,但后来我不知道如何重新订阅。 consumer.start();不被识别为命令(使用者是MessageConsumer类的实例)。
所以 unsubscribe = consumer.close(); //正确?
取消订阅=消费者后重新订阅。??? 或者每次重新订阅时我是否需要创建新的消费者?
编程语言:Java
答案 0 :(得分:1)
对于非持久主题订阅,不存在重新订阅的问题。您要么订阅了活动,要么就是您没有订阅。订阅您创建一个消费者,当消费者处于活动状态时,他们将接收发送到主题的消息,以删除您关闭消费者的订阅。如果您随后决定要订阅并收听主题消息,则会创建一个新的消费者,这是一个全新的订阅,只会再次接收该订阅者处于活动状态时发送的消息。
答案 1 :(得分:1)