Lightnin Hopkins
Дата: 07.12.2007 14:27:37
Добрый день!
Сервер Oracle 9.2 и клиентское Java приложение установлены на
разных машинах. Клиент устанавливает несколько JDBC соединений
с БД. Среди прочих - соединение для выполнения операции
dequeue из очереди Oracle (используется Java AQ API).
Вычислительный поток блокируется в ожидании сообщения в очереди:
AQMessage message =
((AQOracleQueue)queue).dequeue(dOption, PacketInfo.getORADataFactory());
Проблема. При кратковременном обрыве связи (выдергивался сетевой кабель
из машины-клиента) сервер убивает сессию, открытую описываемым потоком, а
сам поток наглухо виснет, то есть теряет возможность читать очередь.
При этом остальные (не связанные с AQ) сессии продолжают жить.
Вопрос очевиден. Как настроить клиента (или сервер) чтобы они могли
продолжать работать при восстановлении связи?
Спасибо