Hey everyone,
Can anyone help explain why I'm still getting this stack trace with this hibernate config? The "MySQL close connections after 8 hours" problem is remedied on the development server (running Tomcat 4.1.29, MySQL 4.0.17, Hibernate 2.1.2, Solaris) but NOT on the deployment server (of course) whcih is running: Tomcat 4.1.29, MySQL 4.0.18, Hibernate 2.1.2, Solaris. One noticeable difference between the two installations is not the MySQL versions, but rather the Java versions 1.4.2 on development and 1.4.1 on deployment. Could this be the issue? Not that I shouldn't upgrade the 1.4.1 instance, but I just want to get this thing running at this point and if it isn't the root of the problem then I don't want to spend the time doing it at the moment.... Thank you!
Stack trace:
Code:
Mar 27, 2004 7:00:29 AM net.sf.hibernate.JDBCException <init>
SEVERE: Could not execute query
java.sql.SQLException: Communication link failure: java.net.SocketException, underlying cause: Connection re
set
** BEGIN NESTED EXCEPTION ** 
java.net.SocketException
MESSAGE: Connection reset
STACKTRACE:
java.net.SocketException: Connection reset
        at java.net.SocketInputStream.read(SocketInputStream.java:168)
        at java.io.BufferedInputStream.fill(BufferedInputStream.java:183)
        at java.io.BufferedInputStream.read(BufferedInputStream.java:201)
        at com.mysql.jdbc.MysqlIO.reuseAndReadPacket(MysqlIO.java:1449)
        at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:1826)
        at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1098)
        at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:1192)
        at com.mysql.jdbc.Connection.execSQL(Connection.java:2051)
        at com.mysql.jdbc.PreparedStatement.executeQuery(PreparedStatement.java:1496)
        at org.apache.commons.dbcp.DelegatingPreparedStatement.executeQuery(DelegatingPreparedStatement.java
:205)
        at org.apache.commons.dbcp.DelegatingPreparedStatement.executeQuery(DelegatingPreparedStatement.java
:205)
        at net.sf.hibernate.impl.BatcherImpl.getResultSet(BatcherImpl.java:87)
        at net.sf.hibernate.loader.Loader.getResultSet(Loader.java:795)
        at net.sf.hibernate.loader.Loader.doQuery(Loader.java:189)
        at net.sf.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:133)
        at net.sf.hibernate.loader.Loader.doList(Loader.java:950)
        at net.sf.hibernate.loader.Loader.list(Loader.java:941)
        at net.sf.hibernate.hql.QueryTranslator.list(QueryTranslator.java:834)
        at net.sf.hibernate.impl.SessionImpl.find(SessionImpl.java:1512)
        at net.sf.hibernate.impl.SessionImpl.find(SessionImpl.java:1491)
        at net.sf.hibernate.impl.SessionImpl.find(SessionImpl.java:1483)
        at org.wgbh.scape.util.QueryBuilderImpl.executeQuery(QueryBuilderImpl.java:133)
        at org.wgbh.scape.domain.dao.UserDAOImpl.find(UserDAOImpl.java:66)
        at org.wgbh.scape.service.UserService.find(UserService.java:76)
        at org.wgbh.scape.action.ScapeLoginAction.loginUser(ScapeLoginAction.java:710)
        at org.wgbh.scape.action.ScapeLoginAction.login(ScapeLoginAction.java:552)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:324)
        at org.apache.struts.actions.DispatchAction.dispatchMethod(DispatchAction.java:280)
        at org.apache.struts.actions.DispatchAction.execute(DispatchAction.java:216)
        at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:484)
        at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:274)
        at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1482)
        at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:525)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:247)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:193)
        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:256)
        at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipelin
e.java:643)
        at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
        at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
        at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipelin
e.java:643)
        at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
        at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
        at org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2417)
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:180)
        at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipelin
e.java:643)
        at org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.java:171)
        at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipelin
e.java:641)
        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:172)
        at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipelin
e.java:641)
        at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
        at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:174)
        at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipelin
e.java:643)
        at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
        at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
        at org.apache.coyote.tomcat4.CoyoteAdapter.service(CoyoteAdapter.java:193)
        at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:781)
        at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.
java:549)
        at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:589)
        at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:666)
        at java.lang.Thread.run(Thread.java:536)
** END NESTED EXCEPTION **
        at com.mysql.jdbc.MysqlIO.reuseAndReadPacket(MysqlIO.java:1614)
        at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:1826)
        at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1098)
        at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:1192)
        at com.mysql.jdbc.Connection.execSQL(Connection.java:2051)
        at com.mysql.jdbc.PreparedStatement.executeQuery(PreparedStatement.java:1496)
        at org.apache.commons.dbcp.DelegatingPreparedStatement.executeQuery(DelegatingPreparedStatement.java
:205)
        at org.apache.commons.dbcp.DelegatingPreparedStatement.executeQuery(DelegatingPreparedStatement.java
:205)
        at net.sf.hibernate.impl.BatcherImpl.getResultSet(BatcherImpl.java:87)
        at net.sf.hibernate.loader.Loader.getResultSet(Loader.java:795)
        at net.sf.hibernate.loader.Loader.doQuery(Loader.java:189)
        at net.sf.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:133)
        at net.sf.hibernate.loader.Loader.doList(Loader.java:950)
        at net.sf.hibernate.loader.Loader.list(Loader.java:941)
        at net.sf.hibernate.hql.QueryTranslator.list(QueryTranslator.java:834)
        at net.sf.hibernate.impl.SessionImpl.find(SessionImpl.java:1512)
        at net.sf.hibernate.impl.SessionImpl.find(SessionImpl.java:1491)
        at net.sf.hibernate.impl.SessionImpl.find(SessionImpl.java:1483)
        at org.wgbh.scape.util.QueryBuilderImpl.executeQuery(QueryBuilderImpl.java:133)
        at org.wgbh.scape.domain.dao.UserDAOImpl.find(UserDAOImpl.java:66)
        at org.wgbh.scape.service.UserService.find(UserService.java:76)
        at org.wgbh.scape.action.ScapeLoginAction.loginUser(ScapeLoginAction.java:710)
        at org.wgbh.scape.action.ScapeLoginAction.login(ScapeLoginAction.java:552)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:324)
        at org.apache.struts.actions.DispatchAction.dispatchMethod(DispatchAction.java:280)
        at org.apache.struts.actions.DispatchAction.execute(DispatchAction.java:216)
        at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:484)
        at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:274)
        at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1482)
        at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:525)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:247)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:193)
        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:256)
        at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipelin
e.java:643)
        at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
        at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
        at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipelin
e.java:643)
        at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
        at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
        at org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2417)
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:180)
        at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipelin
e.java:643)
        at org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.java:171)
        at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipelin
e.java:641)
        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:172)
        at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipelin
e.java:641)
        at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
        at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:174)
        at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipelin
e.java:643)
        at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
        at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
        at org.apache.coyote.tomcat4.CoyoteAdapter.service(CoyoteAdapter.java:193)
        at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:781)
        at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.
java:549)
        at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:589)
        at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:666)
        at java.lang.Thread.run(Thread.java:536)
Hibernate config....
Code:
<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE hibernate-configuration
    PUBLIC "-//Hibernate/Hibernate Configuration DTD//EN"
    "http://hibernate.sourceforge.net/hibernate-configuration-2.0.dtd">
<hibernate-configuration>
    <session-factory name="scape:/hibernate/SessionFactory">
        
        <property name="hibernate.cache.provider_class">net.sf.ehcache.hibernate.Provider</property>
      <!-- <property name="connection.datasource">java:comp/env/jdbc/scapeDB</property>-->
        <property name="show_sql">true</property>
        <property name="dialect">net.sf.hibernate.dialect.MySQLDialect</property>
        <property name="connection.username">scape</property>
        <property name="connection.password">scap3</property>
        <property name="connection.url">jdbc:mysql://localhost:3306/scape?autoReconnectForPools=true</property>
        <property name="connection.driver_class">org.gjt.mm.mysql.Driver</property>
        <property name="transaction.factory_class">net.sf.hibernate.transaction.JDBCTransactionFactory</property>
        <property name="cache.use_query_cache">true</property>
        <property name="use_outer_join">false</property>
        <property name="hibernate.cglib.use_reflection_optimizer">false</property>
        <!--configure connection pool -->
        <property name="dbcp.maxActive">100</property> 
        <property name="dbcp.whenExhaustedAction">1</property> 
        <property name="dbcp.maxWait">120000</property> 
        <property name="dbcp.maxIdle">1</property> 
        <property name="dbcp.minIdle">0</property> 
        <property name="dbcp.ps.maxActive">10</property> 
        <property name="dbcp.ps.whenExhaustedAction">1</property> 
        <property name="dbcp.ps.maxWait">120000</property> 
        <property name="dbcp.ps.maxIdle">100</property> 
        <property name="dbcp.validationQuery">select 1</property>
        <property name="dbcp.testOnBorrow">true</property> 
        <property name="dbcp.testOnReturn">false</property>
        <!-- Mapping files -->
        <mapping resource="object.hbm.xml"/>
    </session-factory>
</hibernate-configuration>
[/code]