I am currently using MySQL 5.0.15 with mysql-connector-java-3.1.11. I
can access the database from my JSPs with no problem except for one
small issue. After a long delay (usually overnight), when someone first
tries to access the database, I would get the following error:
Communications link failure due to underlying exception: ** BEGIN NESTED
EXCEPTION ** java.net.SocketException MESSAGE: Broken pipe STACKTRACE:
java.net.SocketException: Broken pipe at
java.net.SocketOutputStream.socketWrite0(Native Method) at
java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:92) at
java.net.SocketOutputStream.write(SocketOutputStream.java:136) at
java.io.BufferedOutputStream.flushBuffer(BufferedOutputStream.java:65)
at java.io.BufferedOutputStream.flush(BufferedOutputStream.java:123) at
com.mysql.jdbc.MysqlIO.send(MysqlIO.java:2690) at
com.mysql.jdbc.MysqlIO.send(MysqlIO.java:2619) at
com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1552) at
com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:1666) at
com.mysql.jdbc.Connection.execSQL(Connection.java:2978) at
com.mysql.jdbc.Connection.execSQL(Connection.java:2902) at
com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:933)
at
com.mysql.jdbc.PreparedStatement.executeQuery(PreparedStatement.java:1027)
at
org.apache.tomcat.dbcp.dbcp.DelegatingPreparedStatement.executeQuery(DelegatingPreparedStatement.java:92)
at
org.apache.jsp.processLogin_jsp._jspService(org.apache.jsp.processLogin_jsp:81)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97) at
javax.servlet.http.HttpServlet.service(HttpServlet.java:802) at
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:322)
at
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:291)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:241) at
javax.servlet.http.HttpServlet.service(HttpServlet.java:802) at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
at
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
at
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:856)
at
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:744)
at
org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
at
org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80)
at
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
at java.lang.Thread.run(Thread.java:595) ** END NESTED EXCEPTION ** Last
packet sent to the server was 0 ms ago.
But afterwards, on the second and subsequent attempts, the database runs
fine. It is only the first try after a long idle period that I get this
error message. I am not sure how to fix this. I am guessing that the
database connection is down after a long idle period and have to
recreate a connection first after the first try.
--
MySQL General Mailing List
For list archives: http://lists.mysql.com/mysql
To unsubscribe: http://lists.mysql.com/[EMAIL PROTECTED]