Проблемы повторного подключения JDBC с драйвером Teradata с использованием Spring и Apache DataSource

Я использую Apache BasicDataSource как для общей DBCP, так и для пула соединений:

org.apache.commons.dbcp.BasicDataSource

и управляю им через Spring:

org.springframework.jdbc.datasource.DataSourceTransactionManager

При использовании этой комбинации с драйвером Teradata JDBC, если моя база данных работает или произошел сбой в сети. Я получаю следующую ошибку:

08S01 804: Ошибка ввода-вывода, сокет закрыт. Ошибка записи потока пакетов

Что правильно отражает ситуацию, но проблема связана с повторным подключением. Когда ошибка устраняется физически или БД возвращается в исходное состояние, и моя программа пытается запросить ее, я все равно получаю ту же ошибку в течение некоторого периода времени, который варьируется, например, 20 минут, часов, никогда.

org.springframework.jdbc.datasource.DataSourceTransactionManager

При использовании этой комбинации с драйвером Teradata JDBC, если моя база данных выходит из строя или возникает сбой в сети, я получаю следующую ошибку:

08S01 804: Ошибка ввода-вывода, сокет закрыт. Ошибка записи потока пакетов

Что правильно отражает ситуацию, но проблема связана с повторным подключением. Когда ошибка устраняется физически или БД возвращается в исходное состояние, и моя программа пытается запросить ее, я все равно получаю ту же ошибку в течение некоторого периода времени, который варьируется, например, 20 минут, часов, никогда.

org.springframework.jdbc.datasource.DataSourceTransactionManager

При использовании этой комбинации с драйвером Teradata JDBC, если моя база данных выходит из строя или возникает сбой в сети, я получаю следующую ошибку:

08S01 804: Ошибка ввода-вывода, сокет закрыт. Ошибка записи потока пакетов

Что правильно отражает ситуацию, но проблема связана с повторным подключением. Когда ошибка устраняется физически или БД возвращается в исходное состояние, и моя программа пытается запросить ее, я все равно получаю ту же ошибку в течение некоторого периода времени, который варьируется, например, 20 минут, часов, никогда. Проблема исчезает, когда я перезапускаю JVM или изменяю строку подключения, например, использую IP-адрес вместо имени хоста.

Есть ли какие-либо настройки в DataSource или Spring Transaction Manager, которые могут это исправить? или, может быть, настройка TCP / IP?

1
задан Monis Iqbal 1 September 2010 в 10:02
поделиться