我应该取消订阅非持久的JMS主题订阅者吗?

时间:2012-05-23 14:41:31

标签: jms subscriber unsubscribe

我正在编写一个Java JMS应用程序,负责集群节点之间的通信。 消息传递由使用Topic的publish \ subscribe完成。 TopicSubscriber是通过调用TopicSession.createSubscriber(topic,null,true)创建的,这意味着它不是持久订阅者。 现在我正在实现一个“发布”方法,该方法应该取消订阅订阅者(然后关闭连接等)。我看到TopicSession.unsubscribe(字符串名称)仅与持久订阅者相关,因此如何取消订阅非持久订阅者? 有必要吗?

1 个答案:

答案 0 :(得分:2)

不,您不需要为非持久订阅发出TopicSession.unsubscribe()。关闭使用者将从JMS提供程序中删除订阅。您还可以执行Session.Close()Connection.Close()以从JMS提供程序中删除订阅。

在您的Release方法中,只需关闭订阅者或会话或连接。

仅限持久订阅才需要取消订阅。