Должен ли я отписаться от недолговечного абонента JMS Topic?
Я пишу Java JMS-приложение, которое отвечает за взаимодействие между узлами кластера. Обмен сообщениями осуществляется путем публикации \ подписки с использованием темы. TopicSubscriber создается путем вызова TopicSession.createSubscriber(topic, null, true), что означает, что он не является долговременным подписчиком. Сейчас я реализую метод "release", который должен отписаться от подписчика (а затем закрыть соединение и т. Д.). Я видел, что TopicSession.unsubscribe (String name) актуален только для постоянных подписчиков, так как мне отписаться от недолговечных подписчиков? Это необходимо?
1 ответ
Нет, вам не нужно выдавать TopicSession.unsubscribe()
для недлительной подписки. Закрытие потребителя удалит подписку у провайдера JMS. Вы также можете сделать Session.Close()
или же Connection.Close()
удалить подписку у провайдера JMS.
В вашем Release
метод просто закрыть подписчик или сеанс или соединение.
Отказаться от подписки требуется только для длительных подписок.