2010-04-07 2 views
4

Я разрабатываю web-сервис на основе apache tomcat 6.0.26, apache cxf 2.2.7, весна 3.0, hibernate 3.3 и sybase sqlanywhere 11. im, используя последний драйвер JDBC от SYBASE jconn .jar Version 6.SQL Anywhere 11, JZ0C0: соединение уже закрыто

Уровень сохранения основан на пружине + hibernate dao, соединение настраивается с помощью набора данных JNDI (каталог META-INF).

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

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

+0

Я решил свою проблему, я добавил validationQuery в свой источник данных JNDI. – Alex

+2

Вместо комментария это решение было бы лучше в качестве ответа. – 2010-06-28 13:04:00

ответ

4

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

Смежные вопросы