ORACLE driver: timeout => Connection reset by peer: socket write error ?
416044Oct 11 2002 — edited Jun 21 2006I have the latest ORACLE JDBC driver 9201 for JDK 1.3. My servlet (running in weblogic server) works good during the day. But every morning, when i first access the servlet, I get the following exception when the first database access occurs:
--------------
java.sql.SQLException: E/A-Exception: Connection reset by peer: socket write error
at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:168)
at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:210)
at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:323)
at oracle.jdbc.driver.OracleStatement.<init>(OracleStatement.java:417)
at oracle.jdbc.driver.OracleConnection.privateCreateStatement(OracleConnection.java:470)
at oracle.jdbc.driver.OracleConnection.createStatement(OracleConnection.java:379)
at de.deka.bav.sql.DBManager.select(DBManager.java:205)
at de.deka.bav.sql.DBManager.getUserByLogin(DBManager.java:751)
at de.deka.bav.security.UserManager.checkLogin(Unknown Source)
at de.deka.bav.BavRequestBroker.processRequest(Unknown Source)
at de.icomps.servlet.RoutingServlet.processPost(Unknown Source)
at de.deka.bav.web.BavServlet.processPost(Unknown Source)
at de.icomps.servlet.ICServlet.doPost(Unknown Source)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
at de.icomps.servlet.ICServlet.service(Unknown Source)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:265)
at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:200)
at weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppServletContext.java:2546)
at weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestImpl.java:2260)
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:139)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:120)
-------------------
after re-deploying my servlet it works again (until the next morning). what's the reason for this? in my code i check the database connection for isClosed() and == null to create a new connection if one of these checks returns true. but it doesn't help. Is there a kind of timeout in the ORACLE driver? and if so, how can i detect this?