Hello, I'm running into a problem where I suddenly get "No Connection Exception" errors in my application. This appears to happen after a period of inactivity, though it is difficult to assess exactly how much inactivity time has transpired because the application is only very lightly used. It is a web application, using Tomcat 7 as the web container, with a container managed collection pool. If I simply restart tomcat, the exact same SQL statement would then complete with no problems. When this occurs, the nested exception in the stack trace looks like this:
Caused by: java.sql.SQLNonTransientConnectionException: No current connection. at org.apache.derby.client.am.SQLExceptionFactory40.getSQLException(Unknown Source) at org.apache.derby.client.am.SqlException.getSQLException(Unknown Source) at org.apache.derby.client.am.Connection.prepareStatement(Unknown Source) at sun.reflect.GeneratedMethodAccessor331.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:600) at org.apache.tomcat.jdbc.pool.ProxyConnection.invoke(ProxyConnection.java:126) at $Proxy13.prepareStatement(Unknown Source) at org.eclipse.persistence.internal.databaseaccess.DatabaseAccessor.prepareStatement(DatabaseAccessor.java:1474) at org.eclipse.persistence.internal.databaseaccess.DatabaseAccessor.prepareStatement(DatabaseAccessor.java:1423) at org.eclipse.persistence.internal.databaseaccess.DatabaseCall.prepareStatement(DatabaseCall.java:697) at org.eclipse.persistence.internal.databaseaccess.DatabaseAccessor.basicExecuteCall(DatabaseAccessor.java:585) ... 77 more Caused by: org.apache.derby.client.am.SqlException: No current connection. at org.apache.derby.client.am.Connection.checkForClosedConnection(Unknown Source) at org.apache.derby.client.am.Connection.prepareStatementX(Unknown Source) ... 87 more The only way to clear this up seems to be restarting the web container. Is there some setting in Derby which is causing these connections to go stale? Is there any way to trace this and find out the cause? Thanks in advance, Tom
