SQL Anywhere 11, JZ0C0: соединение уже закрыто

Я разрабатываю веб-сервис am на основе 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, соединение настраивается через источник данных JNDI (каталог META-INF).

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

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


person Alex    schedule 07.04.2010    source источник
comment
Я решил свою проблему, я добавил validationQuery в свой источник данных JNDI.   -  person Alex    schedule 29.04.2010
comment
Вместо комментария это решение было бы лучше в качестве ответа.   -  person    schedule 28.06.2010


Ответы (1)


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

person Graeme Perrow    schedule 29.06.2010