Spec-Zone .ru
спецификации, руководства, описания, API


javax.jms
Интерфейс TopicSubscriber

Все Суперинтерфейсы:
MessageConsumer

public interface TopicSubscriber
расширяет MessageConsumer

Клиент использует a TopicSubscriber объект получить сообщения, которые были опубликованы к теме. A TopicSubscriber объект является публиковать/подписываться формой потребителя сообщения. A MessageConsumer может быть создан при использовании Session.createConsumer.

A TopicSession позволяет создание многократных TopicSubscriber объекты на тему. Это передаст каждое сообщение для темы каждому подписчику, имеющему право получить это. Каждая копия сообщения обрабатывается как абсолютно отдельное сообщение. Работа, сделанная на одной копии, не имеет никакого эффекта на другие; подтверждение того не подтверждает другие; одно сообщение может быть сразу передано, в то время как другой ожидает его подписчика, чтобы обработать сообщения перед ним.

Регулярный TopicSubscriber объекты не длительны. Они получают только сообщения, которые публикуются, в то время как они активные.

Сообщения, отфильтрованные селектором сообщения подписчика, никогда не будут передаваться подписчику. С точки зрения подписчика они не существуют.

В некоторых случаях соединение может и опубликовать и подписаться на тему. Подписчик NoLocal атрибут позволяет подписчику подавлять поставку сообщений, опубликованных ее собственным соединением.

Если клиент должен получить все сообщения, опубликованные на теме, включая тех опубликованных, в то время как подписчик неактивен, она использует длительное TopicSubscriber. Провайдер JMS сохраняет запись этой длительной подписки и обеспечивает, чтобы все сообщения от издателей темы были сохранены, пока они не подтверждаются этим длительным подписчиком, или они истекли.

Сеансы с длительными подписчиками должны всегда обеспечивать тот же самый клиентский идентификатор. Кроме того, каждый клиент должен определить имя, которое однозначно определяет (в пределах клиентского идентификатора) каждую длительную подписку, которую он создает. Только у одного сеанса за один раз может быть a TopicSubscriber для определенной длительной подписки.

Клиент может изменить существующую длительную подписку, создавая длительное TopicSubscriber с тем же самым именем и новой темой и/или селектором сообщения. Изменение длительной подписки эквивалентно отмене подписки (удаления) старого и создания нового.

unsubscribe метод используется, чтобы удалить длительную подписку. unsubscribe метод может использоваться в Session или TopicSession уровень. Этот метод удаляет состояние, сохраняемое от имени подписчика его провайдером.

Создание a MessageConsumer обеспечивает те же самые функции как создающий a TopicSubscriber. Создать длительного подписчика, использование Session.CreateDurableSubscriber рекомендуется. TopicSubscriber обеспечивается, чтобы поддерживать существующий код.

См. Также:
Session.createConsumer(javax.jms.Destination), Session.createDurableSubscriber(javax.jms.Topic, java.lang.String), TopicSession, TopicSession.createSubscriber(javax.jms.Topic), MessageConsumer

Сводка метода
 boolean getNoLocal()
          Добирается NoLocal атрибут для этого подписчика.
 Тема getTopic()
          Добирается Topic связанный с этим подписчиком.
 
Методы, наследованные от интерфейса javax.jms. MessageConsumer
close, getMessageListener, getMessageSelector, receive, receive, receiveNoWait, setMessageListener
 

Деталь метода

getTopic

Topic getTopic()
               throws JMSException
Добирается Topic связанный с этим подписчиком.

Возвраты:
этот подписчик Topic
Броски:
JMSException - если провайдер JMS не в состоянии получить тему для этого подписчика темы из-за некоторой внутренней ошибки.

getNoLocal

boolean getNoLocal()
                   throws JMSException
Добирается NoLocal атрибут для этого подписчика. Значение по умолчанию для этого атрибута является ложью.

Возвраты:
истина, если локально опубликованные сообщения запрещаются
Броски:
JMSException - если провайдер JMS не в состоянии добраться NoLocal атрибут для этого подписчика темы из-за некоторой внутренней ошибки.


Представьте ошибку или функцию

Авторское право © 2009-2011, Oracle Corporation и/или его филиалы. Все права защищены. Использование подвергается срокам действия лицензии.

Сгенерированный на 10-February-2011 12:41

free hit counter