(问题求解)java.sql.SQLException: Io 异常: Connection reset
工程所用:Struts1.2+Spring2.0+Hibernate 3.1+Oracle 10g+Tocat
数据库配置:(敏感信息已用*代替)
<bean id="dataSource"
class="org.apache.commons.dbcp.BasicDataSource">
<property name="driverClassName"
value="oracle.jdbc.driver.OracleDriver">
</property>
<property name="url"
value="jdbc:oracle:thin:@**.**.***.***:1521:gifts">
</property>
<property name="username" value="gift"></property>
<property name="password" value="******"></property>
</bean>
<bean id="sessionFactory"
class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
<property name="dataSource">
<ref bean="dataSource" />
</property>
<property name="hibernateProperties">
<props>
<prop key="hibernate.dialect">
org.hibernate.dialect.Oracle9Dialect
</prop>
<!-- 表示允许自动提交 (不用再begin Transaction了) -->
<prop key="hibernate.connection.autocommit">true</prop>
<!-- 显示SQL语句 -->
<prop key="hibernate.show_sql">false</prop>
</props>
</property>
<property name="mappingResources">
<list>
<value>edu/bupt/vo/Relation.hbm.xml</value>
<value>edu/bupt/vo/Age.hbm.xml</value>
<value>edu/bupt/vo/Gifts.hbm.xml</value>
<value>edu/bupt/vo/Seller.hbm.xml</value>
<value>edu/bupt/vo/Interest.hbm.xml</value>
<value>edu/bupt/vo/Receivers.hbm.xml</value>
<value>edu/bupt/vo/Business.hbm.xml</value>
<value>edu/bupt/vo/Occationgift.hbm.xml</value>
<value>edu/bupt/vo/Recipientgift.hbm.xml</value>
<value>edu/bupt/vo/Clicks.hbm.xml</value>
<value>edu/bupt/vo/Classes.hbm.xml</value>
<value>edu/bupt/vo/Admin.hbm.xml</value>
<value>edu/bupt/vo/Recipients.hbm.xml</value>
<value>edu/bupt/vo/Occation.hbm.xml</value>
<value>edu/bupt/vo/Link.hbm.xml</value>
<value>edu/bupt/vo/Similarity.hbm.xml</value>
<value>edu/bupt/vo/Prediction.hbm.xml</value>
<value>edu/bupt/vo/Collect.hbm.xml</value>
<value>edu/bupt/vo/Users.hbm.xml</value>
<value>edu/bupt/vo/Top.hbm.xml</value>
<value>edu/bupt/vo/Giftsimilarity.hbm.xml</value>
<value>edu/bupt/vo/Clickgift.hbm.xml</value></list>
</property>
</bean>
问题描述:一段时间不操作页面后会出现这个报错,然后再操做就没问题了。
2010-06-02 14:44:13,984 WARN [org.hibernate.util.JDBCExceptionReporter] - <SQL Error: 17002, SQLState: null>
2010-06-02 14:44:13,984 ERROR [org.hibernate.util.JDBCExceptionReporter] - <Io 异常: Connection reset>
2010-06-02 14:44:14,015 INFO [org.springframework.beans.factory.xml.XmlBeanDefinitionReader] - <Loading XML bean definitions from class path resource [org/springframework/jdbc/support/sql-error-codes.xml]>
2010-06-02 14:44:14,062 INFO [org.springframework.jdbc.support.SQLErrorCodesFactory] - <SQLErrorCodes loaded: [DB2, Derby, H2, HSQL, Informix, MS-SQL, MySQL, Oracle, PostgreSQL, Sybase]>
2010-06-02 14:44:14,109 WARN [org.hibernate.util.JDBCExceptionReporter] - <SQL Error: 0, SQLState: null>
2010-06-02 14:44:14,109 ERROR [org.hibernate.util.JDBCExceptionReporter] - <Already closed.>
2010-06-02 14:44:14,109 WARN [org.hibernate.util.JDBCExceptionReporter] - <SQL Error: 0, SQLState: null>
2010-06-02 14:44:14,109 ERROR [org.hibernate.util.JDBCExceptionReporter] - <Already closed.>
2010-06-02 14:44:14,140 WARN [org.apache.struts.action.RequestProcessor] - <Unhandled Exception thrown: class org.springframework.dao.DataAccessResourceFailureException>
2010-6-2 14:44:14 org.apache.catalina.core.StandardWrapperValve invoke
严重: Servlet.service() for servlet action threw exception
java.sql.SQLException: Io 异常: Connection reset
at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:145)
at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:190)
at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:363)
at oracle.jdbc.driver.T4CPreparedStatement.executeForDescribe(T4CPreparedStatement.java:927)
at oracle.jdbc.driver.OracleStatement.executeMaybeDescribe(OracleStatement.java:1122)
at oracle.jdbc.driver.T4CPreparedStatement.executeMaybeDescribe(T4CPreparedStatement.java:962)
at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1242)
at oracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePreparedStatement.java:3415)
at oracle.jdbc.driver.OraclePreparedStatement.executeQuery(OraclePreparedStatement.java:3459)
at org.apache.commons.dbcp.DelegatingPreparedStatement.executeQuery(DelegatingPreparedStatement.java:93)
at org.hibernate.jdbc.AbstractBatcher.getResultSet(AbstractBatcher.java:186)
at org.hibernate.loader.Loader.getResultSet(Loader.java:1787)
at org.hibernate.loader.Loader.doQuery(Loader.java:674)
at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:236)
at org.hibernate.loader.Loader.doList(Loader.java:2220)
at org.hibernate.loader.Loader.listIgnoreQueryCache(Loader.java:2104)
at org.hibernate.loader.Loader.list(Loader.java:2099)
at org.hibernate.loader.hql.QueryLoader.list(QueryLoader.java:378)
at org.hibernate.hql.ast.QueryTranslatorImpl.list(QueryTranslatorImpl.java:338)
at org.hibernate.engine.query.HQLQueryPlan.performList(HQLQueryPlan.java:172)
at org.hibernate.impl.SessionImpl.list(SessionImpl.java:1121)
at org.hibernate.impl.QueryImpl.list(QueryImpl.java:79)
at org.springframework.orm.hibernate3.HibernateTemplate$29.doInHibernate(HibernateTemplate.java:849)
at org.springframework.orm.hibernate3.HibernateTemplate.execute(HibernateTemplate.java:372)
at org.springframework.orm.hibernate3.HibernateTemplate.find(HibernateTemplate.java:840)
at org.springframework.orm.hibernate3.HibernateTemplate.find(HibernateTemplate.java:832)
at edu.bupt.vo.OccationgiftDAO.getCount(OccationgiftDAO.java:115)
at edu.bupt.service.OccationService.findByOccation(OccationService.java:34)
at edu.bupt.struts.action.OccationAction.findByOccation(OccationAction.java:57)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.apache.struts.actions.DispatchAction.dispatchMethod(DispatchAction.java:270)
at org.apache.struts.actions.DispatchAction.execute(DispatchAction.java:187)
at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:431)
at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:236)
at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1196)
at org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:414)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:96)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:75)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:849)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:454)
at java.lang.Thread.run(Unknown Source)