SQL Anywhere 11, JZ0C0: соединение уже закрыто - PullRequest
4 голосов
/ 07 апреля 2010

Я занимаюсь разработкой веб-сервиса на основе Apache Tomcat 6.0.26, Apache CXF 2.2.7, Spring 3.0, Hibernate 3.3 и Sybase sqlanywhere 11. Я использую последнюю версию драйвера JDBC из SYBASE jconn.jar версии 6.

Уровень персистентности основан на Spring + Hibernate Dao, соединение настраивается через хранилище данных JNDI (каталог META-INF).

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

Исключение: java.sql.SQLException: JZ0C0: Соединение уже закрыто.

1 Ответ

4 голосов
/ 29 июня 2010

По умолчанию SQL Anywhere закрывает неактивное соединение через четыре часа. Чтобы изменить это, вы можете указать IdleTimeout=x (или Idle=x) в строке подключения, где x - это количество минут, после которых соединение будет закрыто (0 = никогда). Кроме того, вы можете сбросить настройки по умолчанию на сервере, используя переключатель -ti x - снова, x в минутах.

...