【问题标题】:What is the best way to shutdown a durable consumer using JMS?使用 JMS 关闭持久消费者的最佳方法是什么?
【发布时间】:2011-08-15 19:43:37
【问题描述】:

我有一个 JMS 主题的持久消费者。我设置了客户端 ID,我可以看到它作为持久消费者列在队列中。

当我推出代码时,服务器会重新启动,但我想将我在重新启动时丢失的消息排队(因此是持久的)。什么是干净地关闭消息使用者以便您关闭它但仍然让队列知道为您缓冲消息的正确方法

destination = session.createTopic("beacons");
messageConsumer = session.createDurableSubscriber(destination, clientID);

这是正确的方法吗?或者这会告诉队列您不再希望在重新连接时传递消息?

messageConsumer.close 

简而言之,我希望能够在不丢失来自我订阅的主题的消息的情况下重新启动我的服务,谢谢!

【问题讨论】:

    标签: java jms message-queue activemq


    【解决方案1】:

    AFAIK,close() 将简单地关闭该消费者。为了删除订阅,您需要从中取消订阅()(会话上的一种方法)。但是,您应该使用您选择的 JMS 提供程序对此进行测试,以确保他们按照预期的方式实现了 JMS 规范! :)

    【讨论】:

      猜你喜欢
      • 2012-05-12
      • 2023-03-31
      • 1970-01-01
      • 1970-01-01
      • 2021-06-19
      • 1970-01-01
      • 2020-09-10
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多