2010-04-07 135 views
4

我開發的是基於apache tomcat 6.0.26,apache cxf 2.2.7,spring 3.0,hibernate 3.3和sybase sqlanywhere的im webservice 11. im使用來自SYBASE jconn的最新JDBC驅動程序.jar版本6.SQL Anywhere 11,JZ0C0:連接已關閉

持久層基於spring + hibernate dao,連接通過JNDI datasoure(META-INF目錄)進行配置。

看起來,在不活動時間較長時,從Web服務到數據庫的連接關閉。

異常:java.sql.SQLException:JZ0C0:連接已關閉。

+0

我解決了我的問題,我添加了一個validationQuery到我的JNDI數據源。 – Alex 2010-04-29 14:03:13

+2

而不是評論,這個解決方案會更好的答案。 – 2010-06-28 13:04:00

回答

4

默認情況下,SQL Anywhere將在四小時後關閉非活動連接。要更改此設置,您可以在連接字符串中指定IdleTimeout=x(或Idle=x),其中x是連接將被關閉的分鐘數(0 =從不)。或者,您可以使用-ti x開關重置服務器上的默認值 - 再次,x在幾分鐘內。