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


javax.jms
Соединение интерфейса

Все Известные Подынтерфейсы:
QueueConnection, TopicConnection, XAConnection, XAQueueConnection, XATopicConnection

public interface Connection

A Connection объект является активным соединением клиента со своим провайдером JMS. Это обычно выделяет ресурсы провайдера вне виртуальной машины Java (JVM).

Соединения поддерживают параллельное использование.

Соединение служит нескольким целям:

Поскольку создание соединения включает установку аутентификации и передачи, соединение является относительно тяжелым объектом. Большинство клиентов сделает весь свой обмен сообщениями с единственным соединением. Другое больше усовершенствованных приложений может использовать несколько соединений. 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()
          Временно останавливает поставку соединения входящих сообщений.
 

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

createSession

Session createSession(boolean transacted,
                      int acknowledgeMode)
                      throws JMSException
Создает a Session объект.

Параметры:
transacted - указывает, проводится ли сеанс
acknowledgeMode - указывает, подтвердят ли потребитель или клиент какие-либо сообщения, которые это получает; проигнорированный, если сеанс проводится. Юридические значения Session.AUTO_ACKNOWLEDGE, Session.CLIENT_ACKNOWLEDGE, и Session.DUPS_OK_ACKNOWLEDGE.
Возвраты:
недавно создаваемый сеанс
Броски:
JMSException - если Connection возразите не в состоянии создать сеанс из-за некоторой внутренней ошибки или нехватки поддержки определенной транзакции и режима подтверждения.
С тех пор:
1.1
См. Также:
Session#AUTO_ACKNOWLEDGE, Session#CLIENT_ACKNOWLEDGE, Session#DUPS_OK_ACKNOWLEDGE

getClientID

java.lang.String getClientID()
                             throws JMSException
Получает клиентский идентификатор для этого соединения.

Это значение является определенным для провайдера JMS. Это или предварительно конфигурируется администратором в a ConnectionFactory возразите или присвоенный динамически приложением, вызывая setClientID метод.

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

setClientID

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 соединения не в то время или когда он был административно сконфигурирован.

getMetaData

ConnectionMetaData getMetaData()
                               throws JMSException
Получает метаданные для этого соединения.

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

getExceptionListener

ExceptionListener getExceptionListener()
                                       throws JMSException
Добирается ExceptionListener объект для этого соединения. Не каждый Connection имеет ExceptionListener связанный с этим.

Возвраты:
ExceptionListener для этого соединения, или нуля. если нет ExceptionListener связывается с этим соединением.
Броски:
JMSException - если провайдер JMS не в состоянии добраться ExceptionListener для этого соединения.
См. Также:
setExceptionListener(javax.jms.ExceptionListener)

setExceptionListener

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 не в состоянии закрыть соединение из-за некоторой внутренней ошибки. Например, отказ высвободить средства или закрыть сокетное соединение может заставить это исключение быть брошенным.

createConnectionConsumer

ConnectionConsumer createConnectionConsumer(Destination destination,
                                            java.lang.String messageSelector,
                                            ServerSessionPool sessionPool,
                                            int maxMessages)
                                            throws JMSException
Создает потребителя соединения для этого соединения (дополнительная работа). Это - опытное средство, не используемое регулярными клиентами JMS.

Параметры:
destination - место назначения к доступу
messageSelector - только сообщения со свойствами, соответствующими выражение селектора сообщения, передаются. Значение нуля или пустой строки указывает, что нет никакого селектора сообщения для потребителя сообщения.
sessionPool - сеанс сервера объединяет в пул, чтобы связаться с этим потребителем соединения
maxMessages - максимальное количество сообщений, которые могут быть присвоены сеансу сервера когда-то
Возвраты:
потребитель соединения
Броски:
JMSException - если Connection возразите не в состоянии создать потребителя соединения из-за некоторой внутренней ошибки или несостоятельных доводов для sessionPool и messageSelector.
InvalidDestinationException - если недопустимое место назначения определяется.
InvalidSelectorException - если селектор сообщения недопустим.
С тех пор:
1.1
См. Также:
ConnectionConsumer

createDurableConnectionConsumer

ConnectionConsumer createDurableConnectionConsumer(Topic topic,
                                                   java.lang.String subscriptionName,
                                                   java.lang.String messageSelector,
                                                   ServerSessionPool sessionPool,
                                                   int maxMessages)
                                                   throws JMSException
Создайте длительного потребителя соединения для этого соединения (дополнительная работа). Это - опытное средство, не используемое регулярными клиентами JMS.

Параметры:
topic - тема к доступу
subscriptionName - длительное имя подписки
messageSelector - только сообщения со свойствами, соответствующими выражение селектора сообщения, передаются. Значение нуля или пустой строки указывает, что нет никакого селектора сообщения для потребителя сообщения.
sessionPool - сеанс сервера объединяет в пул, чтобы связаться с этим длительным потребителем соединения
maxMessages - максимальное количество сообщений, которые могут быть присвоены сеансу сервера когда-то
Возвраты:
длительный потребитель соединения
Броски:
JMSException - если Connection возразите не в состоянии создать потребителя соединения из-за некоторой внутренней ошибки или несостоятельных доводов для sessionPool и messageSelector.
InvalidDestinationException - если недопустимое место назначения определяется.
InvalidSelectorException - если селектор сообщения недопустим.
С тех пор:
1.1
См. Также:
ConnectionConsumer


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

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

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

free hit counter