Я использую 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?