Some drivers support auto-reconnect parameter:

http://objectstyle.org/confluence/display/CAY/Reconnect

jTDS doesn't seem to support that. From the stack trace, you are using a DBCP connection pool. IIRC DBCP allows transparent reconnect with any driver. You'd have to check DBCP docs on that.

Andrus


On Apr 3, 2006, at 5:34 AM, Steve Wells wrote:
Hi,

If we try and run a query after the connection have been idle for some time,
many hours (sorry I don't exactly yet know how long) we get:

Caused by: java.sql.SQLException: Invalid state, the Connection object is
closed.
at net.sourceforge.jtds.jdbc.ConnectionJDBC2.checkOpen (ConnectionJDBC2.java
:1305)
 at net.sourceforge.jtds.jdbc.ConnectionJDBC2.prepareCall (
ConnectionJDBC2.java:1941)
 at org.apache.tomcat.dbcp.dbcp.DelegatingConnection.prepareCall(
DelegatingConnection.java:212)
 at
org.apache.tomcat.dbcp.dbcp.PoolingDataSource $PoolGuardConnectionWrapper.prepareCall
(PoolingDataSource.java :268)
at org.objectstyle.cayenne.access.trans.ProcedureTranslator.createStateme nt
(ProcedureTranslator.java:160)
 at
org.objectstyle.cayenne.dba.sqlserver.SQLServerProcedureAction.perform Action
(SQLServerProcedureAction.java :105)
 at org.objectstyle.cayenne.access.DataNodeQueryAction.runQuery(
DataNodeQueryAction.java:95)
at org.objectstyle.cayenne.access.DataNode.performQueries (DataNode.java
:321)
 ... 54 more

using SQL Server, jtds 1.2, Cayenne M10.  Any thoughts please?

Reply via email to