同时部署在Centos6的2个java web应用,数据库之前连接的mysql后来改为另外一台Red Hat Enterprise上安装的Oracle,使用的数据库连接池是alibaba的driud,两个应用的配置基本上一样(没找出不一样的)其中一个每天不定时首页都不能访问(现在重新部署了一下两个应用都出现这种情况),每次大概30分钟左右之后又恢复正常。查看tomcat日志有主要有2017-01-16 14:54:00 [http-bio-80-exec-338] DEBUG org.springframework.web.servlet.DispatcherServlet - Successfully completed request
2017-01-16 14:54:11 [http-bio-80-exec-321] DEBUG com.alibaba.druid.pool.DruidDataSource - skip not validate connection.
2017-01-16 14:54:11 [http-bio-80-exec-321] DEBUG com.alibaba.druid.util.JdbcUtils - close connection error
java.sql.SQLRecoverableException: IO Error: Broken pipe
at oracle.jdbc.driver.T4CConnection.logoff(T4CConnection.java:587)
at oracle.jdbc.driver.PhysicalConnection.close(PhysicalConnection.java:4011)
at _____com.alibaba.druid.filter.FilterChainImpl.connection_close(FilterChainImpl.java:169)
o
Caused by: java.net.SocketException: Broken pipe
at java.net.SocketOutputStream.socketWrite0(Native Method)
at java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:109)
oracle.jdbc.driver.T4CSocketInputStreamWrapper.readNextPacket(T4CSocketInputStreamWrapper.java:124)
at oracle.jdbc.driver.T4CSocketInputStreamWrapper.read(T4CSocketInputStreamWrapper.java:80)
at oracle.jdbc.driver.T4CMAREngine.unmarshalUB1(T4CMAREngine.java:1137)
at oracle.jdbc.driver.T4CTTIfun.receive(T4CTTIfun.java:350)
at oracle.jdbc.driver.T4CTTIfun.doRPC(T4CTTIfun.java:227)
at oracle.jdbc.driver.T4C7Ocommoncall.doOLOGOFF(T4C7Ocommoncall.java:61)
at oracle.jdbc.driver.T4CConnection.logoff(T4CConnection.java:574)
... 61 more和org.springframework.http.converter.HttpMessageNotWritableException: Could not write JSON: java.net.SocketException: Connection reset; nested exception is org.apache.catalina.connector.ClientAbortException: java.net.SocketException: Connection reset
2017-01-16 14:54:11 [http-bio-80-exec-321] WARN org.springframework.web.servlet.mvc.support.DefaultHandlerExceptionResolver - Handling of [org.springframework.http.converter.HttpMessageNotWritableException] resulted in Exception
java.lang.IllegalStateException: Cannot call sendError() after the response has been committed两个错误,请问有人知道是什么原因吗?
补充几张错误的图片
HttpMessageNotWritableException: Could not write JSON这句很关键,检查一下你的SpringMVC中是否处理好了JSON格式的数据,不管是发送还是接收。