错误情况:tomcat在启动完后,因为有用户访问,立刻就会出现CharsetFilterClientAbortException: java.net.SocketException: Connection reset b
y peer: socket write error
2006-04-04 10:05:25,531 DEBUG [org.apache.catalina.session.ManagerBase] - <End e
xpire sessions StandardManager processingTime 8313 expired sessions: 0>
CharsetFilterClientAbortException: java.net.SocketException: Connection reset b
y peer: socket write error
CharsetFilterClientAbortException: java.net.SocketException: Connection reset b
y peer: socket write error这样的错误。但这样的错误不会导致程序不能使用。数据库和程序都可以使用。但速度是很慢的。只是时间长了(一般为1天左右)tomcat就会当掉。访问量约为1000左右。在tomcat当掉的时候,cpu 线程数,句柄数一切正常。Jvm大小为1024M,物理内存为6G。
还有一部份这样的错误:2006-04-02 16:12:33,317 ERROR [org.hibernate.util.JDBCExceptionReporter] - <Communications link failure due to underlying exception: ** BEGIN NESTED EXCEPTION ** java.io.EOFExceptionSTACKTRACE:java.io.EOFException
at com.mysql.jdbc.MysqlIO.readFully(MysqlIO.java:1902)
at com.mysql.jdbc.MysqlIO.reuseAndReadPacket(MysqlIO.java:2348)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:2858)
at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1570)
at com.mysql.jdbc.ServerPreparedStatement.serverExecute(ServerPreparedStatement.java:1085)
at com.mysql.jdbc.ServerPreparedStatement.executeInternal(ServerPreparedStatement.java:670)
at com.mysql.jdbc.PreparedStatement.executeQuery(PreparedStatement.java:1024)
at org.apache.tomcat.dbcp.dbcp.DelegatingPreparedStatement.executeQuery(DelegatingPreparedStatement.java:92)
at org.hibernate.jdbc.AbstractBatcher.getResultSet(AbstractBatcher.java:120)
at org.hibernate.loader.Loader.getResultSet(Loader.java:1272)
at org.hibernate.loader.Loader.doQuery(Loader.java:391)
at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:218)
at org.hibernate.loader.Loader.doList(Loader.java:1593)
at org.hibernate.loader.Loader.list(Loader.java:1577)
at org.hibernate.loader.hql.QueryLoader.list(QueryLoader.java:395)
at org.hibernate.hql.ast.QueryTranslatorImpl.list(QueryTranslatorImpl.java:271)
at org.hibernate.impl.SessionImpl.list(SessionImpl.java:844)
at org.hibernate.impl.QueryImpl.list(QueryImpl.java:74)
at com.dipian.dao.hibernate.UserToGroupDAOImpl$1.doInHibernate(UserToGroupDAOImpl.java:63)
at org.springframework.orm.hibernate3.HibernateTemplate.execute(HibernateTemplate.java:365)
at org.springframework.orm.hibernate3.HibernateTemplate.execute(HibernateTemplate.java:333)
at com.dipian.dao.hibernate.UserToGroupDAOImpl.findGroup(UserToGroupDAOImpl.java:58)
at com.dipian.dao.hibernate.UserDAOImpl.findGroup(UserDAOImpl.java:281)
at com.dipian.dao.hibernate.UserDAOImpl$$FastClassByCGLIB$$6f0f69f9.invoke(<generated>)
at net.sf.cglib.proxy.MethodProxy.invoke(MethodProxy.java:149)
at org.springframework.aop.framework.Cglib2AopProxy$CglibMethodInvocation.invokeJoinpoint(Cglib2AopProxy.java:698)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:148)
at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:96)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:170)
at org.springframework.aop.framework.Cglib2AopProxy$DynamicAdvisedInterceptor.intercept(Cglib2AopProxy.java:643)
at com.dipian.dao.hibernate.UserDAOImpl$$EnhancerByCGLIB$$f8bf0c5c_2.findGroup(<generated>)
at com.dipian.control.portal.ShowMeController.handleRequest(ShowMeController.java:55)
at org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter.handle(SimpleControllerHandlerAdapter.java:44)
at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:717)
at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:658)
at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:392)
at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:357)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:709)
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 com.dipian.util.CharsetFilter.doFilter(CharsetFilter.java:30)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
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:869)
at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:667)
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 63 ms ago.>1、 我们程序本身没有任何socket的代码。
2、 所用技术为spring mvc + spring + hibernate
3、 Tomcat5.5.12 mysql 5.0.18 jdk1.5.06
个人意见:实在是找不到原因为什么出现现在这样的问题。不能够定位到具体的错误点。因为tomcat起来就出现这样的错误。重启windows2003后还是一样出现这样的错误 请遇见过的朋友帮忙看一下。有不明白的可以随时跟贴或联系我。
Qq 283765999
msn [email protected]
y peer: socket write error
2006-04-04 10:05:25,531 DEBUG [org.apache.catalina.session.ManagerBase] - <End e
xpire sessions StandardManager processingTime 8313 expired sessions: 0>
CharsetFilterClientAbortException: java.net.SocketException: Connection reset b
y peer: socket write error
CharsetFilterClientAbortException: java.net.SocketException: Connection reset b
y peer: socket write error这样的错误。但这样的错误不会导致程序不能使用。数据库和程序都可以使用。但速度是很慢的。只是时间长了(一般为1天左右)tomcat就会当掉。访问量约为1000左右。在tomcat当掉的时候,cpu 线程数,句柄数一切正常。Jvm大小为1024M,物理内存为6G。
还有一部份这样的错误:2006-04-02 16:12:33,317 ERROR [org.hibernate.util.JDBCExceptionReporter] - <Communications link failure due to underlying exception: ** BEGIN NESTED EXCEPTION ** java.io.EOFExceptionSTACKTRACE:java.io.EOFException
at com.mysql.jdbc.MysqlIO.readFully(MysqlIO.java:1902)
at com.mysql.jdbc.MysqlIO.reuseAndReadPacket(MysqlIO.java:2348)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:2858)
at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1570)
at com.mysql.jdbc.ServerPreparedStatement.serverExecute(ServerPreparedStatement.java:1085)
at com.mysql.jdbc.ServerPreparedStatement.executeInternal(ServerPreparedStatement.java:670)
at com.mysql.jdbc.PreparedStatement.executeQuery(PreparedStatement.java:1024)
at org.apache.tomcat.dbcp.dbcp.DelegatingPreparedStatement.executeQuery(DelegatingPreparedStatement.java:92)
at org.hibernate.jdbc.AbstractBatcher.getResultSet(AbstractBatcher.java:120)
at org.hibernate.loader.Loader.getResultSet(Loader.java:1272)
at org.hibernate.loader.Loader.doQuery(Loader.java:391)
at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:218)
at org.hibernate.loader.Loader.doList(Loader.java:1593)
at org.hibernate.loader.Loader.list(Loader.java:1577)
at org.hibernate.loader.hql.QueryLoader.list(QueryLoader.java:395)
at org.hibernate.hql.ast.QueryTranslatorImpl.list(QueryTranslatorImpl.java:271)
at org.hibernate.impl.SessionImpl.list(SessionImpl.java:844)
at org.hibernate.impl.QueryImpl.list(QueryImpl.java:74)
at com.dipian.dao.hibernate.UserToGroupDAOImpl$1.doInHibernate(UserToGroupDAOImpl.java:63)
at org.springframework.orm.hibernate3.HibernateTemplate.execute(HibernateTemplate.java:365)
at org.springframework.orm.hibernate3.HibernateTemplate.execute(HibernateTemplate.java:333)
at com.dipian.dao.hibernate.UserToGroupDAOImpl.findGroup(UserToGroupDAOImpl.java:58)
at com.dipian.dao.hibernate.UserDAOImpl.findGroup(UserDAOImpl.java:281)
at com.dipian.dao.hibernate.UserDAOImpl$$FastClassByCGLIB$$6f0f69f9.invoke(<generated>)
at net.sf.cglib.proxy.MethodProxy.invoke(MethodProxy.java:149)
at org.springframework.aop.framework.Cglib2AopProxy$CglibMethodInvocation.invokeJoinpoint(Cglib2AopProxy.java:698)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:148)
at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:96)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:170)
at org.springframework.aop.framework.Cglib2AopProxy$DynamicAdvisedInterceptor.intercept(Cglib2AopProxy.java:643)
at com.dipian.dao.hibernate.UserDAOImpl$$EnhancerByCGLIB$$f8bf0c5c_2.findGroup(<generated>)
at com.dipian.control.portal.ShowMeController.handleRequest(ShowMeController.java:55)
at org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter.handle(SimpleControllerHandlerAdapter.java:44)
at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:717)
at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:658)
at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:392)
at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:357)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:709)
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 com.dipian.util.CharsetFilter.doFilter(CharsetFilter.java:30)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
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:869)
at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:667)
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 63 ms ago.>1、 我们程序本身没有任何socket的代码。
2、 所用技术为spring mvc + spring + hibernate
3、 Tomcat5.5.12 mysql 5.0.18 jdk1.5.06
个人意见:实在是找不到原因为什么出现现在这样的问题。不能够定位到具体的错误点。因为tomcat起来就出现这样的错误。重启windows2003后还是一样出现这样的错误 请遇见过的朋友帮忙看一下。有不明白的可以随时跟贴或联系我。
Qq 283765999
msn [email protected]
参考一下.............
1、 我们程序本身没有任何socket的代码。
MYSQL, 客户连接Web访问都是Socket, 只是不是你写的而已
3、 Tomcat5.5.12 mysql 5.0.18 jdk1.5.06
at com.mysql.jdbc.MysqlIO.readFully(MysqlIO.java:1902)
可能问题出现在MySQL, 打开mysqlio.java, 看1902行发生什么事情Jvm大小为1024M,物理内存为6G. 应用占用的内存是否有些太多呀.
ping是可以ping通的。
dbserver和tomcat在一台机器上的。
没有copy文件的代码。
只有一个创建文件夹的代码
at com.mysql.jdbc.MysqlIO.readFully(MysqlIO.java:1902)
at com.mysql.jdbc.MysqlIO.reuseAndReadPacket(MysqlIO.java:2348)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:2858)
at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1570)所以请查看代码中有没有在没有使用完数据库连接就去做关闭连接的操作!
是用spring来控制的
我没有用过,
我去google一下
OK,听大家的意思,我去下一个proxool来用
谢谢大家。
dbcp依赖的是 commons pool,最近pool刚好升级了,你替换一下看。 Jakarta Commons Pool 1.3 发布http://news.csdn.net/n/20060404/89020.html
In struts-config.xml, add "autoReconnect=true" to data-source value for url property as "jdbc:mysql://localhost/xxx?autoReconnect=true"if not work,
Try to add "useServerPrepStmts=false" to your data source
as "jdbc:mysql://localhost/xxx?useServerPrepStmts=false"best regard!
laughsmile(海边的星空) ( )
我已经加过autoReconnect=true这句了
版本是mysql-connector-java-5.0.0-beta-bin.jar
也不知道错误在哪里
有经验的朋友指点一下
this.encoding = filterConfig.getInitParameter("encoding");
} public void doFilter(ServletRequest req, ServletResponse resp,
FilterChain chain) throws IOException, ServletException { try {
HttpServletRequest request = (HttpServletRequest)req;
if (request.getMethod().equalsIgnoreCase("post")) {
if (encoding != null) {
request.setCharacterEncoding(encoding);
}
}
chain.doFilter(request, resp);
} catch (Exception e) {
}
} public void destroy() {
}上面是filter的所有代码.
错误日志: -log-err
查询日志: -log
慢查询日志: -log-slow-queries
更新日志: -log-update
二进制日志: -log-bin在mysql的安装目录下,打开my.ini,在后面加上上面的参数,保存后重启mysql服务就行了。
例如:
#Enter a name for the binary log. Otherwise a default name will be used.
#log-bin=
#Enter a name for the query log file. Otherwise a default name will be used.
#log=
#Enter a name for the error log file. Otherwise a default name will be used.
log-error=
#Enter a name for the update log file. Otherwise a default name will be used.
#log-update=上面只开启了错误日志,要开其他的日志就把前面的“#”去掉。把Mysql的所有日志都打开,然后看一下它的日志来确定是不是Mysql的问题。
只过滤*.jsp页面
好像两天没有报那个错误了
老版本的稳定,
除非你有时间帮人家找BUG
(我曾经就花了两天时间,找了个非常隐晦的BUG...,不过找到后确实非常高兴:)
可现在基本上已经关闭了。不过还有一部份jdbc的没有测试
hibernate的基本上还行还有可能就是查询db过多导致
第二个错误解决了要告诉大家,避免同样的错误。
be sure wait_timeout in your my.cnf file is set to a value greater than the idle_timeout set in your connection pool. (they both are seconds in units)otherwise the server will kill the connection from behind, with the pool thinking it should still be alive, you'll get one of these here SocketException fangles.
意思是:mysql配置中的wait_timeout值一定要大于等于连接池种的idel_timeout值。否则mysql会在wait_timeout的时间后关闭连接,然而连接池还认为该连接可用,这样就会产生SocketException。