2016-02-02 4 views
0

Предположим, что после 30 секунд (по умолчанию client-failure-check-period) клиент не получал никаких пакетов с сервера в результате проблем с сетевым подключением.HornetQ период отказоустойчивости клиента

Отключается ли клиент от сеанса/соединения?

Предположим теперь добавить configration:

<retry-interval>1000</retry-interval> 
<retry-interval-multiplier>1.5</retry-interval-multiplier> 
<max-retry-interval>60000</max-retry-interval> 
<reconnect-attempts>1000</reconnect-attempts> 

Что теперь будет?

Будет ли клиент по-прежнему отсоединяться от сеанса/соединения, но только после попытки повторного подключения 1000 раз (пока сеть не будет доступна снова)? Или он игнорирует необходимость отключать?

ответ

0

Что касается первого вопроса, и в соответствии с HornetQ документации, что можно найти в 17.2. Detecting failure from the client side:

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

Если клиент не получает пакеты для client-failure-check-period миллисекунд то он будет считать, что соединение не удалось и будет либо инициировать переход на другой ресурс, или вызвать какие-либо экземпляры FailureListener (или экземпляры ExceptionListener, если вы используете JMS) в зависимости от того, как это имеет были настроены.

Поэтому клиент предположит, что соединение было фактически потеряно и началось его отказ.

Для вашего второго вопроса, а также в соответствии с документацией HornetQ, которые могут быть найдены под 34.3. Configuring reconnection/reattachment attributes:

reconnect-attempts. Этот необязательный параметр определяет общее количество попыток повторного подключения сделать перед тем, как сдавать и выключать. Значение -1 означает неограниченное количество попыток. Значение по умолчанию равно 0.

Таким образом, да, соединение будет удалено после 1000 попыток.

 Смежные вопросы

  • Нет связанных вопросов^_^