类型 异常报告
消息 Request processing failed; nested exception is org.springframework.jdbc.CannotGetJdbcConnectionException: Could not get JDBC Connection; nested exception is com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure
描述 服务器遇到一个意外的情况,阻止它完成请求。
例外情况
org.springframework.web.util.NestedServletException: Request processing failed; nested exception is org.springframework.jdbc.CannotGetJdbcConnectionException: Could not get JDBC Connection; nested exception is com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure The last packet successfully received from the server was 1 milliseconds ago. The last packet sent successfully to the server was 1 milliseconds ago. org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:982) org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:861) javax.servlet.http.HttpServlet.service(HttpServlet.java:655) org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:846) javax.servlet.http.HttpServlet.service(HttpServlet.java:764) org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52) org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:99) org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:101) org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:101) org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:101) org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:101) org.springframework.boot.web.support.ErrorPageFilter.doFilter(ErrorPageFilter.java:112) org.springframework.boot.web.support.ErrorPageFilter.forwardToErrorPage(ErrorPageFilter.java:187) org.springframework.boot.web.support.ErrorPageFilter.handleException(ErrorPageFilter.java:170) org.springframework.boot.web.support.ErrorPageFilter.doFilter(ErrorPageFilter.java:134) org.springframework.boot.web.support.ErrorPageFilter.access$000(ErrorPageFilter.java:61) org.springframework.boot.web.support.ErrorPageFilter$1.doFilterInternal(ErrorPageFilter.java:94) org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) org.springframework.boot.web.support.ErrorPageFilter.doFilter(ErrorPageFilter.java:112)
根本原因。
org.springframework.jdbc.CannotGetJdbcConnectionException: Could not get JDBC Connection; nested exception is com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure The last packet successfully received from the server was 1 milliseconds ago. The last packet sent successfully to the server was 1 milliseconds ago. org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:80) org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:394) org.springframework.jdbc.core.JdbcTemplate.update(JdbcTemplate.java:538) cn.hrbmu.bstc.metsigdb.WebConfig$1.preHandle(WebConfig.java:30) org.springframework.web.servlet.HandlerExecutionChain.applyPreHandle(HandlerExecutionChain.java:134) org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:958) org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:897) org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:970) org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:861) javax.servlet.http.HttpServlet.service(HttpServlet.java:655) org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:846) javax.servlet.http.HttpServlet.service(HttpServlet.java:764) org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52) org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:99) org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:101) org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:101) org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:101) org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:101) org.springframework.boot.web.support.ErrorPageFilter.doFilter(ErrorPageFilter.java:112) org.springframework.boot.web.support.ErrorPageFilter.forwardToErrorPage(ErrorPageFilter.java:187) org.springframework.boot.web.support.ErrorPageFilter.handleException(ErrorPageFilter.java:170) org.springframework.boot.web.support.ErrorPageFilter.doFilter(ErrorPageFilter.java:134) org.springframework.boot.web.support.ErrorPageFilter.access$000(ErrorPageFilter.java:61) org.springframework.boot.web.support.ErrorPageFilter$1.doFilterInternal(ErrorPageFilter.java:94) org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) org.springframework.boot.web.support.ErrorPageFilter.doFilter(ErrorPageFilter.java:112)
根本原因。
com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure The last packet successfully received from the server was 1 milliseconds ago. The last packet sent successfully to the server was 1 milliseconds ago. sun.reflect.GeneratedConstructorAccessor528.newInstance(Unknown Source) sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) java.lang.reflect.Constructor.newInstance(Constructor.java:423) com.mysql.jdbc.Util.handleNewInstance(Util.java:404) com.mysql.jdbc.SQLError.createCommunicationsException(SQLError.java:988) com.mysql.jdbc.ExportControlled.transformSocketToSSLSocket(ExportControlled.java:164) com.mysql.jdbc.MysqlIO.negotiateSSLConnection(MysqlIO.java:4894) com.mysql.jdbc.MysqlIO.proceedHandshakeWithPluggableAuthentication(MysqlIO.java:1661) com.mysql.jdbc.MysqlIO.doHandshake(MysqlIO.java:1228) com.mysql.jdbc.ConnectionImpl.coreConnect(ConnectionImpl.java:2253) com.mysql.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java:2284) com.mysql.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:2083) com.mysql.jdbc.ConnectionImpl.<init>(ConnectionImpl.java:806) com.mysql.jdbc.JDBC4Connection.<init>(JDBC4Connection.java:47) sun.reflect.GeneratedConstructorAccessor525.newInstance(Unknown Source) sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) java.lang.reflect.Constructor.newInstance(Constructor.java:423) com.mysql.jdbc.Util.handleNewInstance(Util.java:404) com.mysql.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:410) com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:328) org.apache.tomcat.jdbc.pool.PooledConnection.connectUsingDriver(PooledConnection.java:310) org.apache.tomcat.jdbc.pool.PooledConnection.connect(PooledConnection.java:203) org.apache.tomcat.jdbc.pool.ConnectionPool.createConnection(ConnectionPool.java:718) org.apache.tomcat.jdbc.pool.ConnectionPool.borrowConnection(ConnectionPool.java:650) org.apache.tomcat.jdbc.pool.ConnectionPool.init(ConnectionPool.java:468) org.apache.tomcat.jdbc.pool.ConnectionPool.<init>(ConnectionPool.java:143) org.apache.tomcat.jdbc.pool.DataSourceProxy.pCreatePool(DataSourceProxy.java:118) org.apache.tomcat.jdbc.pool.DataSourceProxy.createPool(DataSourceProxy.java:107) org.apache.tomcat.jdbc.pool.DataSourceProxy.getConnection(DataSourceProxy.java:131) org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:111) org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:77) org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:394) org.springframework.jdbc.core.JdbcTemplate.update(JdbcTemplate.java:538) cn.hrbmu.bstc.metsigdb.WebConfig$1.preHandle(WebConfig.java:30) org.springframework.web.servlet.HandlerExecutionChain.applyPreHandle(HandlerExecutionChain.java:134) org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:958) org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:897) org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:970) org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:861) javax.servlet.http.HttpServlet.service(HttpServlet.java:655) org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:846) javax.servlet.http.HttpServlet.service(HttpServlet.java:764) org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52) org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:99) org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:101) org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:101) org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:101) org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:101) org.springframework.boot.web.support.ErrorPageFilter.doFilter(ErrorPageFilter.java:112) org.springframework.boot.web.support.ErrorPageFilter.forwardToErrorPage(ErrorPageFilter.java:187) org.springframework.boot.web.support.ErrorPageFilter.handleException(ErrorPageFilter.java:170) org.springframework.boot.web.support.ErrorPageFilter.doFilter(ErrorPageFilter.java:134) org.springframework.boot.web.support.ErrorPageFilter.access$000(ErrorPageFilter.java:61) org.springframework.boot.web.support.ErrorPageFilter$1.doFilterInternal(ErrorPageFilter.java:94) org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) org.springframework.boot.web.support.ErrorPageFilter.doFilter(ErrorPageFilter.java:112)
根本原因。
javax.net.ssl.SSLHandshakeException: No appropriate protocol (protocol is disabled or cipher suites are inappropriate) sun.security.ssl.HandshakeContext.<init>(HandshakeContext.java:171) sun.security.ssl.ClientHandshakeContext.<init>(ClientHandshakeContext.java:103) sun.security.ssl.TransportContext.kickstart(TransportContext.java:227) sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:433) com.mysql.jdbc.ExportControlled.transformSocketToSSLSocket(ExportControlled.java:149) com.mysql.jdbc.MysqlIO.negotiateSSLConnection(MysqlIO.java:4894) com.mysql.jdbc.MysqlIO.proceedHandshakeWithPluggableAuthentication(MysqlIO.java:1661) com.mysql.jdbc.MysqlIO.doHandshake(MysqlIO.java:1228) com.mysql.jdbc.ConnectionImpl.coreConnect(ConnectionImpl.java:2253) com.mysql.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java:2284) com.mysql.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:2083) com.mysql.jdbc.ConnectionImpl.<init>(ConnectionImpl.java:806) com.mysql.jdbc.JDBC4Connection.<init>(JDBC4Connection.java:47) sun.reflect.GeneratedConstructorAccessor525.newInstance(Unknown Source) sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) java.lang.reflect.Constructor.newInstance(Constructor.java:423) com.mysql.jdbc.Util.handleNewInstance(Util.java:404) com.mysql.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:410) com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:328) org.apache.tomcat.jdbc.pool.PooledConnection.connectUsingDriver(PooledConnection.java:310) org.apache.tomcat.jdbc.pool.PooledConnection.connect(PooledConnection.java:203) org.apache.tomcat.jdbc.pool.ConnectionPool.createConnection(ConnectionPool.java:718) org.apache.tomcat.jdbc.pool.ConnectionPool.borrowConnection(ConnectionPool.java:650) org.apache.tomcat.jdbc.pool.ConnectionPool.init(ConnectionPool.java:468) org.apache.tomcat.jdbc.pool.ConnectionPool.<init>(ConnectionPool.java:143) org.apache.tomcat.jdbc.pool.DataSourceProxy.pCreatePool(DataSourceProxy.java:118) org.apache.tomcat.jdbc.pool.DataSourceProxy.createPool(DataSourceProxy.java:107) org.apache.tomcat.jdbc.pool.DataSourceProxy.getConnection(DataSourceProxy.java:131) org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:111) org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:77) org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:394) org.springframework.jdbc.core.JdbcTemplate.update(JdbcTemplate.java:538) cn.hrbmu.bstc.metsigdb.WebConfig$1.preHandle(WebConfig.java:30) org.springframework.web.servlet.HandlerExecutionChain.applyPreHandle(HandlerExecutionChain.java:134) org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:958) org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:897) org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:970) org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:861) javax.servlet.http.HttpServlet.service(HttpServlet.java:655) org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:846) javax.servlet.http.HttpServlet.service(HttpServlet.java:764) org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52) org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:99) org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:101) org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:101) org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:101) org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:101) org.springframework.boot.web.support.ErrorPageFilter.doFilter(ErrorPageFilter.java:112) org.springframework.boot.web.support.ErrorPageFilter.forwardToErrorPage(ErrorPageFilter.java:187) org.springframework.boot.web.support.ErrorPageFilter.handleException(ErrorPageFilter.java:170) org.springframework.boot.web.support.ErrorPageFilter.doFilter(ErrorPageFilter.java:134) org.springframework.boot.web.support.ErrorPageFilter.access$000(ErrorPageFilter.java:61) org.springframework.boot.web.support.ErrorPageFilter$1.doFilterInternal(ErrorPageFilter.java:94) org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) org.springframework.boot.web.support.ErrorPageFilter.doFilter(ErrorPageFilter.java:112)
):注意 主要问题的全部 stack 信息可以在 server logs 里查看