mysql + hibernate 时mysql每隔8小时断掉链接的问题

    最近做的一个ssh框架的H5app、在本地的时候没测出什么问题、但是把项目放在服务器上的时候、就出现第二天使用的时候报错的问题、经过测试及查阅资料发现是MySQL对连接的有效时间导致的。每个连接的默认时间是8小时、如果8小时不操作的话就会关闭连接、而hibernate连接MySQL的时间超过8小时之后就会断掉连接、所以就会报如下错误
  1 com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: The last packet successfully received from the server was 147,973,651 milliseconds ago.  The last packet sent successfully to the server was 147,973,651 milliseconds ago. is longer than the server configured value of 'wait_timeout'. You should consider either expiring and/or testing connection validity before use in your application, increasing the server configured values for client timeouts, or using the Connector/J connection property 'autoReconnect=true' to avoid this problem.
  2     at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
  3     at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
  4     at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
  5     at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
  6     at com.mysql.jdbc.Util.handleNewInstance(Util.java:411)
  7     at com.mysql.jdbc.SQLError.createCommunicationsException(SQLError.java:1121)
  8     at com.mysql.jdbc.MysqlIO.send(MysqlIO.java:3941)
  9     at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:2551)
 10     at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2731)
 11     at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2812)
 12     at com.mysql.jdbc.ConnectionImpl.setAutoCommit(ConnectionImpl.java:5339)
 13     at com.mchange.v2.c3p0.impl.NewProxyConnection.setAutoCommit(NewProxyConnection.java:881)
 14     at org.hibernate.resource.jdbc.internal.AbstractLogicalConnectionImplementor.begin(AbstractLogicalConnectionImplementor.java:67)
 15     at org.hibernate.resource.jdbc.internal.LogicalConnectionManagedImpl.begin(LogicalConnectionManagedImpl.java:272)
 16     at org.hibernate.resource.transaction.backend.jdbc.internal.JdbcResourceLocalTransactionCoordinatorImpl$TransactionDriverControlImpl.begin(JdbcResourceLocalTransactionCoordinatorImpl.java:203)
 17     at org.hibernate.engine.transaction.internal.TransactionImpl.begin(TransactionImpl.java:56)
 18     at org.hibernate.internal.AbstractSharedSessionContract.beginTransaction(AbstractSharedSessionContract.java:402)
 19     at com.lix.dao.Impl.XtYhDaoImpl.updateXtYhInfo(XtYhDaoImpl.java:71)
 20     at com.lix.service.impl.XtYhServiceImpl.updateXtYhInfo(XtYhServiceImpl.java:65)
 21     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
 22     at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
 23     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
 24     at java.lang.reflect.Method.invoke(Method.java:498)
 25     at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:333)
 26     at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:190)
 27     at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:157)
 28     at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:99)
 29     at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:282)
 30     at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:96)
 31     at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
 32     at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:92)
 33     at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
 34     at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:213)
 35     at com.sun.proxy.$Proxy44.updateXtYhInfo(Unknown Source)
 36     at com.lix.manager.XtYhInfoManager.XtYhLogin(XtYhInfoManager.java:154)
 37     at com.lix.Query.ServiceQueryUtil.queryBack(ServiceQueryUtil.java:177)
 38     at com.lix.webService.impl.GettingImpl.userLogin(GettingImpl.java:142)
 39     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
 40     at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
 41     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
 42     at java.lang.reflect.Method.invoke(Method.java:498)
 43     at org.apache.cxf.service.invoker.AbstractInvoker.performInvocation(AbstractInvoker.java:179)
 44     at org.apache.cxf.jaxws.JAXWSMethodInvoker.performInvocation(JAXWSMethodInvoker.java:66)
 45     at org.apache.cxf.service.invoker.AbstractInvoker.invoke(AbstractInvoker.java:96)
 46     at org.apache.cxf.jaxws.AbstractJAXWSMethodInvoker.invoke(AbstractJAXWSMethodInvoker.java:232)
 47     at org.apache.cxf.jaxws.JAXWSMethodInvoker.invoke(JAXWSMethodInvoker.java:85)
 48     at org.apache.cxf.service.invoker.AbstractInvoker.invoke(AbstractInvoker.java:74)
 49     at org.apache.cxf.interceptor.ServiceInvokerInterceptor$1.run(ServiceInvokerInterceptor.java:59)
 50     at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
 51     at java.util.concurrent.FutureTask.run(FutureTask.java:266)
 52     at org.apache.cxf.interceptor.ServiceInvokerInterceptor$2.run(ServiceInvokerInterceptor.java:126)
 53     at org.apache.cxf.workqueue.SynchronousExecutor.execute(SynchronousExecutor.java:37)
 54     at org.apache.cxf.interceptor.ServiceInvokerInterceptor.handleMessage(ServiceInvokerInterceptor.java:131)
 55     at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:308)
 56     at org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInitiationObserver.java:121)
 57     at org.apache.cxf.transport.http.AbstractHTTPDestination.invoke(AbstractHTTPDestination.java:267)
 58     at org.apache.cxf.transport.servlet.ServletController.invokeDestination(ServletController.java:234)
 59     at org.apache.cxf.transport.servlet.ServletController.invoke(ServletController.java:208)
 60     at org.apache.cxf.transport.servlet.ServletController.invoke(ServletController.java:160)
 61     at org.apache.cxf.transport.servlet.CXFNonSpringServlet.invoke(CXFNonSpringServlet.java:216)
 62     at org.apache.cxf.transport.servlet.AbstractHTTPServlet.handleRequest(AbstractHTTPServlet.java:301)
 63     at org.apache.cxf.transport.servlet.AbstractHTTPServlet.doPost(AbstractHTTPServlet.java:220)
 64     at javax.servlet.http.HttpServlet.service(HttpServlet.java:643)
 65     at org.apache.cxf.transport.servlet.AbstractHTTPServlet.service(AbstractHTTPServlet.java:276)
 66     at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
 67     at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
 68     at org.springframework.orm.hibernate5.support.OpenSessionInViewFilter.doFilterInternal(OpenSessionInViewFilter.java:151)
 69     at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
 70     at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
 71     at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
 72     at com.lix.fileter.webContextFilter.doFilter(webContextFilter.java:36)
 73     at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
 74     at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
 75     at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:197)
 76     at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
 77     at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
 78     at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
 79     at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
 80     at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
 81     at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
 82     at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
 83     at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
 84     at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)
 85     at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:861)
 86     at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:620)
 87     at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
 88     at java.lang.Thread.run(Thread.java:748)
 89 Caused by: java.net.SocketException: Broken pipe (Write failed)
 90     at java.net.SocketOutputStream.socketWrite0(Native Method)
 91     at java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:111)
 92     at java.net.SocketOutputStream.write(SocketOutputStream.java:155)
 93     at java.io.BufferedOutputStream.flushBuffer(BufferedOutputStream.java:82)
 94     at java.io.BufferedOutputStream.flush(BufferedOutputStream.java:140)
 95     at com.mysql.jdbc.MysqlIO.send(MysqlIO.java:3922)
 96     ... 80 more
 97 [DEBUG] 2018-08-06 09:11:31,216 method:com.mchange.v2.sql.SqlUtils.toSQLException(SqlUtils.java:85)
 98 Attempted to convert SQLException to SQLException. Leaving it alone. [SQLState: 08S01; errorCode: 0]
 99 com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: The last packet successfully received from the server was 147,973,651 milliseconds ago.  The last packet sent successfully to the server was 147,973,651 milliseconds ago. is longer than the server configured value of 'wait_timeout'. You should consider either expiring and/or testing connection validity before use in your application, increasing the server configured values for client timeouts, or using the Connector/J connection property 'autoReconnect=true' to avoid this problem.
100     at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
101     at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
102     at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
103     at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
104     at com.mysql.jdbc.Util.handleNewInstance(Util.java:411)
105     at com.mysql.jdbc.SQLError.createCommunicationsException(SQLError.java:1121)
106     at com.mysql.jdbc.MysqlIO.send(MysqlIO.java:3941)
107     at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:2551)
108     at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2731)
109     at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2812)
110     at com.mysql.jdbc.ConnectionImpl.setAutoCommit(ConnectionImpl.java:5339)
111     at com.mchange.v2.c3p0.impl.NewProxyConnection.setAutoCommit(NewProxyConnection.java:881)
112     at org.hibernate.resource.jdbc.internal.AbstractLogicalConnectionImplementor.begin(AbstractLogicalConnectionImplementor.java:67)
113     at org.hibernate.resource.jdbc.internal.LogicalConnectionManagedImpl.begin(LogicalConnectionManagedImpl.java:272)
114     at org.hibernate.resource.transaction.backend.jdbc.internal.JdbcResourceLocalTransactionCoordinatorImpl$TransactionDriverControlImpl.begin(JdbcResourceLocalTransactionCoordinatorImpl.java:203)
115     at org.hibernate.engine.transaction.internal.TransactionImpl.begin(TransactionImpl.java:56)
116     at org.hibernate.internal.AbstractSharedSessionContract.beginTransaction(AbstractSharedSessionContract.java:402)
117     at com.lix.dao.Impl.XtYhDaoImpl.updateXtYhInfo(XtYhDaoImpl.java:71)
118     at com.lix.service.impl.XtYhServiceImpl.updateXtYhInfo(XtYhServiceImpl.java:65)
119     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
120     at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
121     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
122     at java.lang.reflect.Method.invoke(Method.java:498)
123     at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:333)
124     at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:190)
125     at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:157)
126     at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:99)
127     at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:282)
128     at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:96)
129     at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
130     at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:92)
131     at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
132     at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:213)
133     at com.sun.proxy.$Proxy44.updateXtYhInfo(Unknown Source)
134     at com.lix.manager.XtYhInfoManager.XtYhLogin(XtYhInfoManager.java:154)
135     at com.lix.Query.ServiceQueryUtil.queryBack(ServiceQueryUtil.java:177)
136     at com.lix.webService.impl.GettingImpl.userLogin(GettingImpl.java:142)
137     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
138     at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
139     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
140     at java.lang.reflect.Method.invoke(Method.java:498)
141     at org.apache.cxf.service.invoker.AbstractInvoker.performInvocation(AbstractInvoker.java:179)
142     at org.apache.cxf.jaxws.JAXWSMethodInvoker.performInvocation(JAXWSMethodInvoker.java:66)
143     at org.apache.cxf.service.invoker.AbstractInvoker.invoke(AbstractInvoker.java:96)
144     at org.apache.cxf.jaxws.AbstractJAXWSMethodInvoker.invoke(AbstractJAXWSMethodInvoker.java:232)
145     at org.apache.cxf.jaxws.JAXWSMethodInvoker.invoke(JAXWSMethodInvoker.java:85)
146     at org.apache.cxf.service.invoker.AbstractInvoker.invoke(AbstractInvoker.java:74)
147     at org.apache.cxf.interceptor.ServiceInvokerInterceptor$1.run(ServiceInvokerInterceptor.java:59)
148     at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
149     at java.util.concurrent.FutureTask.run(FutureTask.java:266)
150     at org.apache.cxf.interceptor.ServiceInvokerInterceptor$2.run(ServiceInvokerInterceptor.java:126)
151     at org.apache.cxf.workqueue.SynchronousExecutor.execute(SynchronousExecutor.java:37)
152     at org.apache.cxf.interceptor.ServiceInvokerInterceptor.handleMessage(ServiceInvokerInterceptor.java:131)
153     at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:308)
154     at org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInitiationObserver.java:121)
155     at org.apache.cxf.transport.http.AbstractHTTPDestination.invoke(AbstractHTTPDestination.java:267)
156     at org.apache.cxf.transport.servlet.ServletController.invokeDestination(ServletController.java:234)
157     at org.apache.cxf.transport.servlet.ServletController.invoke(ServletController.java:208)
158     at org.apache.cxf.transport.servlet.ServletController.invoke(ServletController.java:160)
159     at org.apache.cxf.transport.servlet.CXFNonSpringServlet.invoke(CXFNonSpringServlet.java:216)
160     at org.apache.cxf.transport.servlet.AbstractHTTPServlet.handleRequest(AbstractHTTPServlet.java:301)
161     at org.apache.cxf.transport.servlet.AbstractHTTPServlet.doPost(AbstractHTTPServlet.java:220)
162     at javax.servlet.http.HttpServlet.service(HttpServlet.java:643)
163     at org.apache.cxf.transport.servlet.AbstractHTTPServlet.service(AbstractHTTPServlet.java:276)
164     at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
165     at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
166     at org.springframework.orm.hibernate5.support.OpenSessionInViewFilter.doFilterInternal(OpenSessionInViewFilter.java:151)
167     at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
168     at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
169     at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
170     at com.lix.fileter.webContextFilter.doFilter(webContextFilter.java:36)
171     at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
172     at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
173     at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:197)
174     at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
175     at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
176     at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
177     at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
178     at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
179     at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
180     at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
181     at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
182     at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)
183     at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:861)
184     at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:620)
185     at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
186     at java.lang.Thread.run(Thread.java:748)
187 Caused by: java.net.SocketException: Broken pipe (Write failed)
188     at java.net.SocketOutputStream.socketWrite0(Native Method)
189     at java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:111)
190     at java.net.SocketOutputStream.write(SocketOutputStream.java:155)
191     at java.io.BufferedOutputStream.flushBuffer(BufferedOutputStream.java:82)
192     at java.io.BufferedOutputStream.flush(BufferedOutputStream.java:140)
193     at com.mysql.jdbc.MysqlIO.send(MysqlIO.java:3922)
194     ... 80 more
195 [DEBUG] 2018-08-06 09:11:31,216 method:com.mchange.v2.c3p0.impl.DefaultConnectionTester.statusOnException(DefaultConnectionTester.java:126)
196 Testing a Connection in response to an Exception:
197 com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: The last packet successfully received from the server was 147,973,651 milliseconds ago.  The last packet sent successfully to the server was 147,973,651 milliseconds ago. is longer than the server configured value of 'wait_timeout'. You should consider either expiring and/or testing connection validity before use in your application, increasing the server configured values for client timeouts, or using the Connector/J connection property 'autoReconnect=true' to avoid this problem.
198     at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
199     at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
200     at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
201     at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
202     at com.mysql.jdbc.Util.handleNewInstance(Util.java:411)
203     at com.mysql.jdbc.SQLError.createCommunicationsException(SQLError.java:1121)
204     at com.mysql.jdbc.MysqlIO.send(MysqlIO.java:3941)
205     at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:2551)
206     at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2731)
207     at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2812)
208     at com.mysql.jdbc.ConnectionImpl.setAutoCommit(ConnectionImpl.java:5339)
209     at com.mchange.v2.c3p0.impl.NewProxyConnection.setAutoCommit(NewProxyConnection.java:881)
210     at org.hibernate.resource.jdbc.internal.AbstractLogicalConnectionImplementor.begin(AbstractLogicalConnectionImplementor.java:67)
211     at org.hibernate.resource.jdbc.internal.LogicalConnectionManagedImpl.begin(LogicalConnectionManagedImpl.java:272)
212     at org.hibernate.resource.transaction.backend.jdbc.internal.JdbcResourceLocalTransactionCoordinatorImpl$TransactionDriverControlImpl.begin(JdbcResourceLocalTransactionCoordinatorImpl.java:203)
213     at org.hibernate.engine.transaction.internal.TransactionImpl.begin(TransactionImpl.java:56)
214     at org.hibernate.internal.AbstractSharedSessionContract.beginTransaction(AbstractSharedSessionContract.java:402)
215     at com.lix.dao.Impl.XtYhDaoImpl.updateXtYhInfo(XtYhDaoImpl.java:71)
216     at com.lix.service.impl.XtYhServiceImpl.updateXtYhInfo(XtYhServiceImpl.java:65)
217     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
218     at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
219     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
220     at java.lang.reflect.Method.invoke(Method.java:498)
221     at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:333)
222     at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:190)
223     at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:157)
224     at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:99)
225     at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:282)
226     at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:96)
227     at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
228     at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:92)
229     at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
230     at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:213)
231     at com.sun.proxy.$Proxy44.updateXtYhInfo(Unknown Source)
232     at com.lix.manager.XtYhInfoManager.XtYhLogin(XtYhInfoManager.java:154)
233     at com.lix.Query.ServiceQueryUtil.queryBack(ServiceQueryUtil.java:177)
234     at com.lix.webService.impl.GettingImpl.userLogin(GettingImpl.java:142)
235     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
236     at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
237     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
238     at java.lang.reflect.Method.invoke(Method.java:498)
239     at org.apache.cxf.service.invoker.AbstractInvoker.performInvocation(AbstractInvoker.java:179)
240     at org.apache.cxf.jaxws.JAXWSMethodInvoker.performInvocation(JAXWSMethodInvoker.java:66)
241     at org.apache.cxf.service.invoker.AbstractInvoker.invoke(AbstractInvoker.java:96)
242     at org.apache.cxf.jaxws.AbstractJAXWSMethodInvoker.invoke(AbstractJAXWSMethodInvoker.java:232)
243     at org.apache.cxf.jaxws.JAXWSMethodInvoker.invoke(JAXWSMethodInvoker.java:85)
244     at org.apache.cxf.service.invoker.AbstractInvoker.invoke(AbstractInvoker.java:74)
245     at org.apache.cxf.interceptor.ServiceInvokerInterceptor$1.run(ServiceInvokerInterceptor.java:59)
246     at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
247     at java.util.concurrent.FutureTask.run(FutureTask.java:266)
248     at org.apache.cxf.interceptor.ServiceInvokerInterceptor$2.run(ServiceInvokerInterceptor.java:126)
249     at org.apache.cxf.workqueue.SynchronousExecutor.execute(SynchronousExecutor.java:37)
250     at org.apache.cxf.interceptor.ServiceInvokerInterceptor.handleMessage(ServiceInvokerInterceptor.java:131)
251     at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:308)
252     at org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInitiationObserver.java:121)
253     at org.apache.cxf.transport.http.AbstractHTTPDestination.invoke(AbstractHTTPDestination.java:267)
254     at org.apache.cxf.transport.servlet.ServletController.invokeDestination(ServletController.java:234)
255     at org.apache.cxf.transport.servlet.ServletController.invoke(ServletController.java:208)
256     at org.apache.cxf.transport.servlet.ServletController.invoke(ServletController.java:160)
257     at org.apache.cxf.transport.servlet.CXFNonSpringServlet.invoke(CXFNonSpringServlet.java:216)
258     at org.apache.cxf.transport.servlet.AbstractHTTPServlet.handleRequest(AbstractHTTPServlet.java:301)
259     at org.apache.cxf.transport.servlet.AbstractHTTPServlet.doPost(AbstractHTTPServlet.java:220)
260     at javax.servlet.http.HttpServlet.service(HttpServlet.java:643)
261     at org.apache.cxf.transport.servlet.AbstractHTTPServlet.service(AbstractHTTPServlet.java:276)
262     at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
263     at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
264     at org.springframework.orm.hibernate5.support.OpenSessionInViewFilter.doFilterInternal(OpenSessionInViewFilter.java:151)
265     at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
266     at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
267     at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
268     at com.lix.fileter.webContextFilter.doFilter(webContextFilter.java:36)
269     at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
270     at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
271     at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:197)
272     at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
273     at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
274     at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
275     at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
276     at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
277     at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
278     at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
279     at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
280     at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)
281     at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:861)
282     at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:620)
283     at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
284     at java.lang.Thread.run(Thread.java:748)
285 Caused by: java.net.SocketException: Broken pipe (Write failed)
286     at java.net.SocketOutputStream.socketWrite0(Native Method)
287     at java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:111)
288     at java.net.SocketOutputStream.write(SocketOutputStream.java:155)
289     at java.io.BufferedOutputStream.flushBuffer(BufferedOutputStream.java:82)
290     at java.io.BufferedOutputStream.flush(BufferedOutputStream.java:140)
291     at com.mysql.jdbc.MysqlIO.send(MysqlIO.java:3922)
292     ... 80 more
293 [DEBUG] 2018-08-06 09:11:31,217 method:com.mchange.v2.c3p0.impl.DefaultConnectionTester.activeCheckConnectionNoQuery(DefaultConnectionTester.java:194)
294 Connection com.mysql.jdbc.JDBC4Connection@5549e36f failed default system-table Connection test with an Exception!
295 com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException: No operations allowed after connection closed.
296     at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
297     at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
298     at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
299     at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
300     at com.mysql.jdbc.Util.handleNewInstance(Util.java:411)
301     at com.mysql.jdbc.Util.getInstance(Util.java:386)
302     at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1015)
303     at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:989)
304     at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:975)
305     at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:920)
306     at com.mysql.jdbc.ConnectionImpl.throwConnectionClosedException(ConnectionImpl.java:1304)
307     at com.mysql.jdbc.ConnectionImpl.checkClosed(ConnectionImpl.java:1296)
308     at com.mysql.jdbc.ConnectionImpl.getMetaData(ConnectionImpl.java:3239)
309     at com.mysql.jdbc.ConnectionImpl.getMetaData(ConnectionImpl.java:3234)
310     at com.mchange.v2.c3p0.impl.DefaultConnectionTester.activeCheckConnectionNoQuery(DefaultConnectionTester.java:185)
311     at com.mchange.v2.c3p0.impl.DefaultConnectionTester.activeCheckConnection(DefaultConnectionTester.java:62)
312     at com.mchange.v2.c3p0.impl.DefaultConnectionTester.statusOnException(DefaultConnectionTester.java:143)
313     at com.mchange.v2.c3p0.AbstractConnectionTester.statusOnException(AbstractConnectionTester.java:82)
314     at com.mchange.v2.c3p0.impl.NewPooledConnection.handleThrowable(NewPooledConnection.java:374)
315     at com.mchange.v2.c3p0.impl.NewProxyConnection.setAutoCommit(NewProxyConnection.java:895)
316     at org.hibernate.resource.jdbc.internal.AbstractLogicalConnectionImplementor.begin(AbstractLogicalConnectionImplementor.java:67)
317     at org.hibernate.resource.jdbc.internal.LogicalConnectionManagedImpl.begin(LogicalConnectionManagedImpl.java:272)
318     at org.hibernate.resource.transaction.backend.jdbc.internal.JdbcResourceLocalTransactionCoordinatorImpl$TransactionDriverControlImpl.begin(JdbcResourceLocalTransactionCoordinatorImpl.java:203)
319     at org.hibernate.engine.transaction.internal.TransactionImpl.begin(TransactionImpl.java:56)
320     at org.hibernate.internal.AbstractSharedSessionContract.beginTransaction(AbstractSharedSessionContract.java:402)
321     at com.lix.dao.Impl.XtYhDaoImpl.updateXtYhInfo(XtYhDaoImpl.java:71)
322     at com.lix.service.impl.XtYhServiceImpl.updateXtYhInfo(XtYhServiceImpl.java:65)
323     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
324     at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
325     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
326     at java.lang.reflect.Method.invoke(Method.java:498)
327     at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:333)
328     at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:190)
329     at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:157)
330     at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:99)
331     at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:282)
332     at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:96)
333     at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
334     at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:92)
335     at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
336     at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:213)
337     at com.sun.proxy.$Proxy44.updateXtYhInfo(Unknown Source)
338     at com.lix.manager.XtYhInfoManager.XtYhLogin(XtYhInfoManager.java:154)
339     at com.lix.Query.ServiceQueryUtil.queryBack(ServiceQueryUtil.java:177)
340     at com.lix.webService.impl.GettingImpl.userLogin(GettingImpl.java:142)
341     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
342     at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
343     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
344     at java.lang.reflect.Method.invoke(Method.java:498)
345     at org.apache.cxf.service.invoker.AbstractInvoker.performInvocation(AbstractInvoker.java:179)
346     at org.apache.cxf.jaxws.JAXWSMethodInvoker.performInvocation(JAXWSMethodInvoker.java:66)
347     at org.apache.cxf.service.invoker.AbstractInvoker.invoke(AbstractInvoker.java:96)
348     at org.apache.cxf.jaxws.AbstractJAXWSMethodInvoker.invoke(AbstractJAXWSMethodInvoker.java:232)
349     at org.apache.cxf.jaxws.JAXWSMethodInvoker.invoke(JAXWSMethodInvoker.java:85)
350     at org.apache.cxf.service.invoker.AbstractInvoker.invoke(AbstractInvoker.java:74)
351     at org.apache.cxf.interceptor.ServiceInvokerInterceptor$1.run(ServiceInvokerInterceptor.java:59)
352     at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
353     at java.util.concurrent.FutureTask.run(FutureTask.java:266)
354     at org.apache.cxf.interceptor.ServiceInvokerInterceptor$2.run(ServiceInvokerInterceptor.java:126)
355     at org.apache.cxf.workqueue.SynchronousExecutor.execute(SynchronousExecutor.java:37)
356     at org.apache.cxf.interceptor.ServiceInvokerInterceptor.handleMessage(ServiceInvokerInterceptor.java:131)
357     at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:308)
358     at org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInitiationObserver.java:121)
359     at org.apache.cxf.transport.http.AbstractHTTPDestination.invoke(AbstractHTTPDestination.java:267)
360     at org.apache.cxf.transport.servlet.ServletController.invokeDestination(ServletController.java:234)
361     at org.apache.cxf.transport.servlet.ServletController.invoke(ServletController.java:208)
362     at org.apache.cxf.transport.servlet.ServletController.invoke(ServletController.java:160)
363     at org.apache.cxf.transport.servlet.CXFNonSpringServlet.invoke(CXFNonSpringServlet.java:216)
364     at org.apache.cxf.transport.servlet.AbstractHTTPServlet.handleRequest(AbstractHTTPServlet.java:301)
365     at org.apache.cxf.transport.servlet.AbstractHTTPServlet.doPost(AbstractHTTPServlet.java:220)
366     at javax.servlet.http.HttpServlet.service(HttpServlet.java:643)
367     at org.apache.cxf.transport.servlet.AbstractHTTPServlet.service(AbstractHTTPServlet.java:276)
368     at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
369     at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
370     at org.springframework.orm.hibernate5.support.OpenSessionInViewFilter.doFilterInternal(OpenSessionInViewFilter.java:151)
371     at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
372     at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
373     at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
374     at com.lix.fileter.webContextFilter.doFilter(webContextFilter.java:36)
375     at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
376     at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
377     at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:197)
378     at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
379     at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
380     at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
381     at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
382     at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
383     at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
384     at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
385     at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
386     at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)
387     at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:861)
388     at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:620)
389     at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
390     at java.lang.Thread.run(Thread.java:748)
391 Caused by: com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: The last packet successfully received from the server was 147,973,651 milliseconds ago.  The last packet sent successfully to the server was 147,973,651 milliseconds ago. is longer than the server configured value of 'wait_timeout'. You should consider either expiring and/or testing connection validity before use in your application, increasing the server configured values for client timeouts, or using the Connector/J connection property 'autoReconnect=true' to avoid this problem.
392     at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
393     at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
394     at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
395     at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
396     at com.mysql.jdbc.Util.handleNewInstance(Util.java:411)
397     at com.mysql.jdbc.SQLError.createCommunicationsException(SQLError.java:1121)
398     at com.mysql.jdbc.MysqlIO.send(MysqlIO.java:3941)
399     at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:2551)
400     at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2731)
401     at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2812)
402     at com.mysql.jdbc.ConnectionImpl.setAutoCommit(ConnectionImpl.java:5339)
403     at com.mchange.v2.c3p0.impl.NewProxyConnection.setAutoCommit(NewProxyConnection.java:881)
404     ... 75 more
405 Caused by: java.net.SocketException: Broken pipe (Write failed)
406     at java.net.SocketOutputStream.socketWrite0(Native Method)
407     at java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:111)
408     at java.net.SocketOutputStream.write(SocketOutputStream.java:155)
409     at java.io.BufferedOutputStream.flushBuffer(BufferedOutputStream.java:82)
410     at java.io.BufferedOutputStream.flush(BufferedOutputStream.java:140)
411     at com.mysql.jdbc.MysqlIO.send(MysqlIO.java:3922)
412     ... 80 more

解决方法:如代码中报错提示一般、我们使用在jdbcurl后面加上autoReconnect=true ,

  eg:jdbc:mysql://127.0.0.1:3306/test?autoReconnect=true 

原文地址:https://www.cnblogs.com/mzlb520/p/9428497.html