Spec-Zone .ru
спецификации, руководства, описания, API
|
|
|||||||||
ПРЕДЫДУЩИЙ КЛАСС СЛЕДУЮЩИЙ КЛАСС | ФРЕЙМЫ НИКАКИЕ ФРЕЙМЫ | ||||||||
СВОДКА: ВЛОЖЕННЫЙ | ПОЛЕ | CONSTR | МЕТОД | ДЕТАЛЬ: ПОЛЕ | CONSTR | МЕТОД |
public interface Connection
A Connection
объект является активным соединением клиента со своим провайдером JMS. Это обычно выделяет ресурсы провайдера вне виртуальной машины Java (JVM).
Соединения поддерживают параллельное использование.
Соединение служит нескольким целям:
ConnectionMetaData
объект. ExceptionListener
объект. Поскольку создание соединения включает установку аутентификации и передачи, соединение является относительно тяжелым объектом. Большинство клиентов сделает весь свой обмен сообщениями с единственным соединением. Другое больше усовершенствованных приложений может использовать несколько соединений. API JMS не проектирует причину использования многократных соединений; однако, могут быть операционные причины выполнения так.
Клиент JMS обычно создает соединение, один или более сеансов, и много производителей сообщения и потребителей. Когда соединение создается, это находится в остановленном режиме. Это означает, что никакие сообщения не передаются.
Это типично, чтобы оставить соединение в остановленном режиме, пока установка не полна (то есть, пока все потребители сообщения не были созданы). В той точке клиент вызывает соединение start
метод, и сообщения начинают достигать потребителей соединения. Это соглашение установки минимизирует любой клиентский беспорядок, который может следовать из асинхронной доставки сообщений, в то время как клиент находится все еще в процессе установки.
Соединение может быть сразу запущено, и установка может быть сделана впоследствии. Клиенты, которые делают это, должны быть подготовлены обработать асинхронную доставку сообщений, в то время как они находятся все еще в процессе установки.
Производитель сообщения может отправить сообщения, в то время как соединение останавливается.
ConnectionFactory
, QueueConnection
, TopicConnection
Сводка метода | |
---|---|
void |
close()
Закрывает соединение. |
ConnectionConsumer |
createConnectionConsumer(Destination destination, java.lang.String messageSelector, ServerSessionPool sessionPool, int maxMessages)
Создает потребителя соединения для этого соединения (дополнительная работа). |
ConnectionConsumer |
createDurableConnectionConsumer(Topic topic, java.lang.String subscriptionName, java.lang.String messageSelector, ServerSessionPool sessionPool, int maxMessages)
Создайте длительного потребителя соединения для этого соединения (дополнительная работа). |
Сеанс |
createSession(boolean transacted, int acknowledgeMode)
Создает a Session объект. |
java.lang.String |
getClientID()
Получает клиентский идентификатор для этого соединения. |
ExceptionListener |
getExceptionListener()
Добирается ExceptionListener объект для этого соединения. |
ConnectionMetaData |
getMetaData()
Получает метаданные для этого соединения. |
void |
setClientID(java.lang.String clientID)
Устанавливает клиентский идентификатор для этого соединения. |
void |
setExceptionListener(ExceptionListener listener)
Устанавливает слушателя исключения для этого соединения. |
void |
start()
Запускает (или перезапуски) поставку соединения входящих сообщений. |
void |
stop()
Временно останавливает поставку соединения входящих сообщений. |
Деталь метода |
---|
Session createSession(boolean transacted, int acknowledgeMode) throws JMSException
Session
объект.
transacted
- указывает, проводится ли сеансacknowledgeMode
- указывает, подтвердят ли потребитель или клиент какие-либо сообщения, которые это получает; проигнорированный, если сеанс проводится. Юридические значения Session.AUTO_ACKNOWLEDGE
, Session.CLIENT_ACKNOWLEDGE
, и Session.DUPS_OK_ACKNOWLEDGE
. JMSException
- если Connection
возразите не в состоянии создать сеанс из-за некоторой внутренней ошибки или нехватки поддержки определенной транзакции и режима подтверждения.Session#AUTO_ACKNOWLEDGE
, Session#CLIENT_ACKNOWLEDGE
, Session#DUPS_OK_ACKNOWLEDGE
java.lang.String getClientID() throws JMSException
Это значение является определенным для провайдера JMS. Это или предварительно конфигурируется администратором в a ConnectionFactory
возразите или присвоенный динамически приложением, вызывая setClientID
метод.
JMSException
- если провайдер JMS не в состоянии возвратить клиентский ID для этого соединения из-за некоторой внутренней ошибки.void setClientID(java.lang.String clientID) throws JMSException
Привилегированный способ присвоить клиентский идентификатор клиента JMS для этого, чтобы быть сконфигурированным в специфичном для клиента ConnectionFactory
возразите и прозрачно присвоенный Connection
объект это создает.
Альтернативно, клиент может установить клиентский идентификатор соединения, используя специфичное для провайдера значение. Средство, чтобы установить клиентский идентификатор соединения явно не является механизмом для того, чтобы переопределить идентификатор, который был административно сконфигурирован. Это предусматривается случай, где никакой административно указанный идентификатор не существует. Если Вы действительно существуете, попытка измениться, она, устанавливая это должна бросить IllegalStateException
. Если клиент устанавливает клиентский идентификатор явно, он должен сделать так сразу после того, как он создает соединение и прежде, чем любые другие меры на соединении будут предприняты. После этой точки, устанавливая клиентский идентификатор ошибка программирования, которая должна бросить IllegalStateException
.
Цель клиентского идентификатора состоит в том, чтобы связать соединение и его объекты с состоянием, сохраняемым от имени клиента провайдером. Единственное, которое - такое состояние, идентифицированное API JMS то, который потребовал, чтобы поддерживать длительные подписки.
Если другое соединение с тем же самым clientID
уже работает, когда этот метод вызывают, провайдер JMS должен обнаружить двойной ID и бросить InvalidClientIDException
.
clientID
- уникальный клиентский идентификатор JMSException
- если провайдер JMS не в состоянии установить клиентский ID для этого соединения из-за некоторой внутренней ошибки. InvalidClientIDException
- если клиент JMS определяет недопустимый или двойной клиентский ID. IllegalStateException
- если клиент JMS пытается установить клиентский ID соединения не в то время или когда он был административно сконфигурирован.ConnectionMetaData getMetaData() throws JMSException
JMSException
- если провайдер JMS не в состоянии получить метаданные соединения для этого соединения.ConnectionMetaData
ExceptionListener getExceptionListener() throws JMSException
ExceptionListener
объект для этого соединения. Не каждый Connection
имеет ExceptionListener
связанный с этим.
ExceptionListener
для этого соединения, или нуля. если нет ExceptionListener
связывается с этим соединением. JMSException
- если провайдер JMS не в состоянии добраться ExceptionListener
для этого соединения.setExceptionListener(javax.jms.ExceptionListener)
void setExceptionListener(ExceptionListener listener) throws JMSException
Если провайдер JMS обнаруживает серьёзную проблему с соединением, он сообщает соединению ExceptionListener
, если Вы были зарегистрированы. Это делает это, вызывая слушателя onException
метод, передавая это a JMSException
объект, описывающий проблему.
Слушатель исключения позволяет клиенту быть уведомленным относительно проблемы асинхронно. Некоторые соединения только используют сообщения, таким образом, у них не было бы никакого другого способа узнать, что их связь прервалась.
Соединение сериализирует выполнение ExceptionListener
.
Провайдер JMS должен попытаться разрешить проблемы соединения самостоятельно прежде, чем он уведомит клиент относительно них.
listener
- слушатель исключения JMSException
- если провайдер JMS не в состоянии установить слушателя исключения для этого соединения.void start() throws JMSException
start
на соединении, которое было уже запущено, игнорируется.
JMSException
- если провайдер JMS не в состоянии запустить доставку сообщений из-за некоторой внутренней ошибки.stop()
void stop() throws JMSException
start
метод. Когда соединение останавливается, поставка потребителям сообщения всего соединения запрещается: синхронный получает блок, и сообщения не передаются, чтобы передать слушателей. Этот вызов, который блоки до принимают и/или происходящие слушатели сообщения, завершился.
Остановка соединения не имеет никакого эффекта на свою возможность отправить сообщения. Звонок stop
на соединении, которое было уже остановлено, игнорируется.
Звонок stop
не должен возвратиться, пока поставка сообщений не приостановилась. Это означает, что клиент может положиться на факт, что ни одного из его слушателей сообщения не вызовут и что все потоки управления, ожидающего receive
вызовы, чтобы возвратиться не будут возвращаться с сообщением, пока соединение не будет перезапущено. Получить таймеры для остановленного соединения продолжают совершенствоваться, так получает, может время, в то время как соединение останавливается.
Если слушатели сообщения работают когда stop
вызывается, stop
вызов должен ожидать, пока все они не возвратились прежде, чем он сможет возвратиться. В то время как эти слушатели сообщения завершаются, они должны иметь полный сервис в наличии соединения с ними.
JMSException
- если провайдер JMS не в состоянии остановить доставку сообщений из-за некоторой внутренней ошибки.start()
void close() throws JMSException
Так как провайдер обычно выделяет существенные ресурсы вне JVM от имени соединения, клиенты должны закрыть эти ресурсы, когда они не необходимы. Доверие сборке "мусора", чтобы в конечном счете исправить эти ресурсы, возможно, не достаточно своевременно.
Нет никакой потребности закрыть сеансы, производителей, и потребителей закрытого соединения.
Закрытие соединения заставляет все временные места назначения быть удаленными.
Когда этот метод вызывается, он не должен возвратиться, пока обработка сообщения не была выключена аккуратным способом. Это означает, что все слушатели сообщения, которые, возможно, работали, возвратились, и что все ожидание получает, возвратились. Завершение завершается, все сообщение на ожидании получает на потребителях сеансов соединения. Получение может возвратиться с сообщением или с нулем в зависимости от того, было ли сообщение, доступное во время завершения. Если один или больше слушателей сообщения сеансов соединения обрабатывает сообщение в то время, когда соединение close
вызывается, все средства соединения и его сеансов должны остаться доступными тем слушателям, пока они не возвращают управление провайдеру JMS.
Закрытие соединения заставляет любую из происходящих транзакций своих сеансов откатываться. В случае, где работа сеанса координируется внешним менеджером транзакций, сеанс commit
и rollback
методы не используются, и результат работы закрытого сеанса определяется позже менеджером транзакций. Закрытие соединения НЕ вызывает подтверждение подтвержденных клиентом сеансов.
Вызов acknowledge
метод полученного сообщения от сеанса закрытого соединения должен бросить IllegalStateException
. Закрытие закрытого соединения не должно выдать исключение.
JMSException
- если провайдер JMS не в состоянии закрыть соединение из-за некоторой внутренней ошибки. Например, отказ высвободить средства или закрыть сокетное соединение может заставить это исключение быть брошенным.ConnectionConsumer createConnectionConsumer(Destination destination, java.lang.String messageSelector, ServerSessionPool sessionPool, int maxMessages) throws JMSException
destination
- место назначения к доступуmessageSelector
- только сообщения со свойствами, соответствующими выражение селектора сообщения, передаются. Значение нуля или пустой строки указывает, что нет никакого селектора сообщения для потребителя сообщения.sessionPool
- сеанс сервера объединяет в пул, чтобы связаться с этим потребителем соединенияmaxMessages
- максимальное количество сообщений, которые могут быть присвоены сеансу сервера когда-то JMSException
- если Connection
возразите не в состоянии создать потребителя соединения из-за некоторой внутренней ошибки или несостоятельных доводов для sessionPool
и messageSelector
. InvalidDestinationException
- если недопустимое место назначения определяется. InvalidSelectorException
- если селектор сообщения недопустим.ConnectionConsumer
ConnectionConsumer createDurableConnectionConsumer(Topic topic, java.lang.String subscriptionName, java.lang.String messageSelector, ServerSessionPool sessionPool, int maxMessages) throws JMSException
topic
- тема к доступуsubscriptionName
- длительное имя подпискиmessageSelector
- только сообщения со свойствами, соответствующими выражение селектора сообщения, передаются. Значение нуля или пустой строки указывает, что нет никакого селектора сообщения для потребителя сообщения.sessionPool
- сеанс сервера объединяет в пул, чтобы связаться с этим длительным потребителем соединенияmaxMessages
- максимальное количество сообщений, которые могут быть присвоены сеансу сервера когда-то JMSException
- если Connection
возразите не в состоянии создать потребителя соединения из-за некоторой внутренней ошибки или несостоятельных доводов для sessionPool
и messageSelector
. InvalidDestinationException
- если недопустимое место назначения определяется. InvalidSelectorException
- если селектор сообщения недопустим.ConnectionConsumer
|
|||||||||
ПРЕДЫДУЩИЙ КЛАСС СЛЕДУЮЩИЙ КЛАСС | ФРЕЙМЫ НИКАКИЕ ФРЕЙМЫ | ||||||||
СВОДКА: ВЛОЖЕННЫЙ | ПОЛЕ | CONSTR | МЕТОД | ДЕТАЛЬ: ПОЛЕ | CONSTR | МЕТОД |
Авторское право © 2009-2011, Oracle Corporation и/или его филиалы. Все права защищены. Использование подвергается
Сгенерированный на 10-February-2011 12:41