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