【问题标题】:ActiveMQ: how to subscribe/unsubscribe from non-durable subscriptionsActiveMQ:如何订阅/取消订阅非持久订阅
【发布时间】:2015-08-24 03:08:30
【问题描述】:

我必须为我正在学习的一门大学课程做一个项目,但因为我找不到一个简单问题的解释,所以我被困住了:

作为非持久订阅者,我如何正确订阅和取消订阅主题?听起来很简单,但是对于durable 有一个取消订阅的方法,我就是不知道non-durable 用什么。

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

所以 取消订阅 = consumer.close(); //对吗?

取消订阅后重新订阅 = 消费者。??? 还是每次重新订阅时都需要创建一个新的消费者?

编程语言:Java

【问题讨论】:

    标签: java activemq subscribe unsubscribe


    【解决方案1】:

    对于非持久主题订阅,没有重新订阅之类的东西。您要么订阅了活动,要么没有订阅。订阅您创建一个消费者,当消费者处于活动状态时,他们将接收发送到主题的消息,删除该订阅您关闭消费者。如果您然后决定要订​​阅并收听主题消息,您将创建一个新的消费者,这是一个全新的订阅,它将再次接收仅在该订阅者处于活动状态时发送的消息。

    【讨论】:

    • 谢谢。那个小小的误会,让我做了很多不必要的工作。如果该项目的措辞没有那么含糊(似乎暗示有重新订阅之类的东西),或者教授会丝毫合作。那好吧。回去工作。再次感谢。
    【解决方案2】:

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

    consumer.close()
    

    这就是here所说的:

    【讨论】:

      猜你喜欢
      • 2017-01-24
      • 2016-01-14
      • 2015-08-11
      • 2012-05-30
      • 1970-01-01
      • 2015-06-16
      • 2022-01-19
      • 2012-03-14
      • 2019-09-30
      相关资源
      最近更新 更多