数据库连接池与com.mysql.jdbc.exceptions.jdbc4.CommunicationsException异常
来源:互联网 发布:java老版手机游戏 编辑:程序博客网 时间:2024/06/06 13:20
异常信息如下:
com.ibatis.common.jdbc.exception.NestedSQLException: --- The error occurred in mit/datamodel/ibatis/person.xml. --- The error occurred while executing query. --- Check the select * from person where pID = ?. --- Check the SQL Statement (preparation failed). --- Cause: com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException: No operations allowed after connection closed.Connection was implicitly closed due to underlying exception/error:** BEGIN NESTED EXCEPTION ** com.mysql.jdbc.exceptions.jdbc4.CommunicationsExceptionMESSAGE: Communications link failureLast packet sent to the server was 18912 ms ago.STACKTRACE:com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failureLast packet sent to the server was 18912 ms ago. at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source) at java.lang.reflect.Constructor.newInstance(Unknown Source) at com.mysql.jdbc.Util.handleNewInstance(Util.java:406) at com.mysql.jdbc.SQLError.createCommunicationsException(SQLError.java:1074) at com.mysql.jdbc.MysqlIO.reuseAndReadPacket(MysqlIO.java:2873) at com.mysql.jdbc.MysqlIO.reuseAndReadPacket(MysqlIO.java:2763) at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3299) at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1837) at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:1961) at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2537) at com.mysql.jdbc.ConnectionImpl.rollbackNoChecks(ConnectionImpl.java:4668) at com.mysql.jdbc.ConnectionImpl.rollback(ConnectionImpl.java:4553) at com.ibatis.common.jdbc.SimpleDataSource.popConnection(SimpleDataSource.java:629) at com.ibatis.common.jdbc.SimpleDataSource.getConnection(SimpleDataSource.java:222) at com.ibatis.sqlmap.engine.transaction.jdbc.JdbcTransaction.init(JdbcTransaction.java:48) at com.ibatis.sqlmap.engine.transaction.jdbc.JdbcTransaction.getConnection(JdbcTransaction.java:89) at com.ibatis.sqlmap.engine.mapping.statement.GeneralStatement.executeQueryForObject(GeneralStatement.java:104) at com.ibatis.sqlmap.engine.impl.SqlMapExecutorDelegate.queryForObject(SqlMapExecutorDelegate.java:566) at com.ibatis.sqlmap.engine.impl.SqlMapExecutorDelegate.queryForObject(SqlMapExecutorDelegate.java:541) at com.ibatis.sqlmap.engine.impl.SqlMapSessionImpl.queryForObject(SqlMapSessionImpl.java:106) at com.ibatis.sqlmap.engine.impl.SqlMapClientImpl.queryForObject(SqlMapClientImpl.java:83) at mit.datamodel.dataaccess.CommonDAO.searchForObject(CommonDAO.java:142) at mit.datamodel.dataaccess.BasicDataAccess.queryObject(BasicDataAccess.java:46) at mit.datamodel.dataaccess.PersonAccess.queryPatientById(PersonAccess.java:93) at mit.business.service.PatientManagement.getPatientById(PatientManagement.java:335) at mit.servlet.PatientServiceInvocation.PatientQuery(PatientServiceInvocation.java:110) 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 mit.business.service.BasicService.invokeService(BasicService.java:45) at mit.servlet.BaseServlet.dispatcher(BaseServlet.java:63) at mit.servlet.BaseServlet.doPost(BaseServlet.java:49) at javax.servlet.http.HttpServlet.service(HttpServlet.java:650) at javax.servlet.http.HttpServlet.service(HttpServlet.java:731) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:218) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:505) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:169) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103) at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:958) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:452) at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1087) at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:637) at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:316) at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) at java.lang.Thread.run(Unknown Source)Caused by: java.net.SocketTimeoutException: Read timed out at java.net.SocketInputStream.socketRead0(Native Method) at java.net.SocketInputStream.read(Unknown Source) at java.net.SocketInputStream.read(Unknown Source) at com.mysql.jdbc.util.ReadAheadInputStream.fill(ReadAheadInputStream.java:113) at com.mysql.jdbc.util.ReadAheadInputStream.readFromUnderlyingStreamIfNecessary(ReadAheadInputStream.java:160) at com.mysql.jdbc.util.ReadAheadInputStream.read(ReadAheadInputStream.java:188) at com.mysql.jdbc.MysqlIO.readFully(MysqlIO.java:2329) at com.mysql.jdbc.MysqlIO.reuseAndReadPacket(MysqlIO.java:2774) ... 50 more** END NESTED EXCEPTION **at com.ibatis.sqlmap.engine.mapping.statement.GeneralStatement.executeQueryWithCallback(GeneralStatement.java:185)at com.ibatis.sqlmap.engine.mapping.statement.GeneralStatement.executeQueryForObject(GeneralStatement.java:104)at com.ibatis.sqlmap.engine.impl.SqlMapExecutorDelegate.queryForObject(SqlMapExecutorDelegate.java:566)at com.ibatis.sqlmap.engine.impl.SqlMapExecutorDelegate.queryForObject(SqlMapExecutorDelegate.java:541)at com.ibatis.sqlmap.engine.impl.SqlMapSessionImpl.queryForObject(SqlMapSessionImpl.java:106)at com.ibatis.sqlmap.engine.impl.SqlMapClientImpl.queryForObject(SqlMapClientImpl.java:83)at mit.datamodel.dataaccess.CommonDAO.searchForObject(CommonDAO.java:142)at mit.datamodel.dataaccess.BasicDataAccess.queryObject(BasicDataAccess.java:46)at mit.datamodel.dataaccess.PersonAccess.queryPatientById(PersonAccess.java:93)at mit.business.service.PatientManagement.getPatientById(PatientManagement.java:335)at mit.servlet.PatientServiceInvocation.PatientQuery(PatientServiceInvocation.java:110)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 mit.business.service.BasicService.invokeService(BasicService.java:45)at mit.servlet.BaseServlet.dispatcher(BaseServlet.java:63)at mit.servlet.BaseServlet.doPost(BaseServlet.java:49)at javax.servlet.http.HttpServlet.service(HttpServlet.java:650)at javax.servlet.http.HttpServlet.service(HttpServlet.java:731)at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303)at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:218)at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122)at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:505)at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:169)at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:958)at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116)at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:452)at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1087)at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:637)at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:316)at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)at java.lang.Thread.run(Unknown Source)Caused by: com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException: No operations allowed after connection closed.Connection was implicitly closed due to underlying exception/error:** BEGIN NESTED EXCEPTION ** com.mysql.jdbc.exceptions.jdbc4.CommunicationsExceptionMESSAGE: Communications link failureLast packet sent to the server was 18912 ms ago.STACKTRACE:com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failureLast packet sent to the server was 18912 ms ago. at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source) at java.lang.reflect.Constructor.newInstance(Unknown Source) at com.mysql.jdbc.Util.handleNewInstance(Util.java:406) at com.mysql.jdbc.SQLError.createCommunicationsException(SQLError.java:1074) at com.mysql.jdbc.MysqlIO.reuseAndReadPacket(MysqlIO.java:2873) at com.mysql.jdbc.MysqlIO.reuseAndReadPacket(MysqlIO.java:2763) at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3299) at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1837) at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:1961) at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2537) at com.mysql.jdbc.ConnectionImpl.rollbackNoChecks(ConnectionImpl.java:4668) at com.mysql.jdbc.ConnectionImpl.rollback(ConnectionImpl.java:4553) at com.ibatis.common.jdbc.SimpleDataSource.popConnection(SimpleDataSource.java:629) at com.ibatis.common.jdbc.SimpleDataSource.getConnection(SimpleDataSource.java:222) at com.ibatis.sqlmap.engine.transaction.jdbc.JdbcTransaction.init(JdbcTransaction.java:48) at com.ibatis.sqlmap.engine.transaction.jdbc.JdbcTransaction.getConnection(JdbcTransaction.java:89) at com.ibatis.sqlmap.engine.mapping.statement.GeneralStatement.executeQueryForObject(GeneralStatement.java:104) at com.ibatis.sqlmap.engine.impl.SqlMapExecutorDelegate.queryForObject(SqlMapExecutorDelegate.java:566) at com.ibatis.sqlmap.engine.impl.SqlMapExecutorDelegate.queryForObject(SqlMapExecutorDelegate.java:541) at com.ibatis.sqlmap.engine.impl.SqlMapSessionImpl.queryForObject(SqlMapSessionImpl.java:106) at com.ibatis.sqlmap.engine.impl.SqlMapClientImpl.queryForObject(SqlMapClientImpl.java:83) at mit.datamodel.dataaccess.CommonDAO.searchForObject(CommonDAO.java:142) at mit.datamodel.dataaccess.BasicDataAccess.queryObject(BasicDataAccess.java:46) at mit.datamodel.dataaccess.PersonAccess.queryPatientById(PersonAccess.java:93) at mit.business.service.PatientManagement.getPatientById(PatientManagement.java:335) at mit.servlet.PatientServiceInvocation.PatientQuery(PatientServiceInvocation.java:110) 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 mit.business.service.BasicService.invokeService(BasicService.java:45) at mit.servlet.BaseServlet.dispatcher(BaseServlet.java:63) at mit.servlet.BaseServlet.doPost(BaseServlet.java:49) at javax.servlet.http.HttpServlet.service(HttpServlet.java:650) at javax.servlet.http.HttpServlet.service(HttpServlet.java:731) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:218) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:505) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:169) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103) at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:958) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:452) at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1087) at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:637) at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:316) at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) at java.lang.Thread.run(Unknown Source)Caused by: java.net.SocketTimeoutException: Read timed out at java.net.SocketInputStream.socketRead0(Native Method) at java.net.SocketInputStream.read(Unknown Source) at java.net.SocketInputStream.read(Unknown Source) at com.mysql.jdbc.util.ReadAheadInputStream.fill(ReadAheadInputStream.java:113) at com.mysql.jdbc.util.ReadAheadInputStream.readFromUnderlyingStreamIfNecessary(ReadAheadInputStream.java:160) at com.mysql.jdbc.util.ReadAheadInputStream.read(ReadAheadInputStream.java:188) at com.mysql.jdbc.MysqlIO.readFully(MysqlIO.java:2329) at com.mysql.jdbc.MysqlIO.reuseAndReadPacket(MysqlIO.java:2774) ... 50 more** END NESTED EXCEPTION **at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)at java.lang.reflect.Constructor.newInstance(Unknown Source)at com.mysql.jdbc.Util.handleNewInstance(Util.java:406)at com.mysql.jdbc.Util.getInstance(Util.java:381)at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:985)at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:957)at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:927)at com.mysql.jdbc.ConnectionImpl.checkClosed(ConnectionImpl.java:1113)at com.mysql.jdbc.ConnectionImpl.prepareStatement(ConnectionImpl.java:4038)at com.mysql.jdbc.ConnectionImpl.prepareStatement(ConnectionImpl.java:4004)at sun.reflect.GeneratedMethodAccessor32.invoke(Unknown Source)at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)at java.lang.reflect.Method.invoke(Unknown Source)at com.ibatis.common.jdbc.SimpleDataSource$SimplePooledConnection.invoke(SimpleDataSource.java:958)at com.sun.proxy.$Proxy4.prepareStatement(Unknown Source)at sun.reflect.GeneratedMethodAccessor32.invoke(Unknown Source)at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)at java.lang.reflect.Method.invoke(Unknown Source)at com.ibatis.common.jdbc.logging.ConnectionLogProxy.invoke(ConnectionLogProxy.java:53)at com.sun.proxy.$Proxy4.prepareStatement(Unknown Source)at com.ibatis.sqlmap.engine.execution.SqlExecutor.prepareStatement(SqlExecutor.java:494)at com.ibatis.sqlmap.engine.execution.SqlExecutor.executeQuery(SqlExecutor.java:176)at com.ibatis.sqlmap.engine.mapping.statement.GeneralStatement.sqlExecuteQuery(GeneralStatement.java:205)at com.ibatis.sqlmap.engine.mapping.statement.GeneralStatement.executeQueryWithCallback(GeneralStatement.java:173)... 39 more
com.ibatis.common.jdbc.exception.NestedSQLException是iBATIS实现的嵌套异常,继承自SQLException。从业务逻辑Service层方法调用开始,沿着异常堆栈跳着跟踪下:
at mit.business.service.PatientManagement.getPatientById(PatientManagement.java:335)at mit.datamodel.dataaccess.CommonDAO.searchForObject(CommonDAO.java:142)at com.ibatis.sqlmap.engine.impl.SqlMapClientImpl.queryForObject(SqlMapClientImpl.java:83)at com.ibatis.sqlmap.engine.transaction.jdbc.JdbcTransaction.getConnection(JdbcTransaction.java:89)at com.ibatis.common.jdbc.SimpleDataSource.popConnection(SimpleDataSource.java:629)at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2537)at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1837)at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3299) at com.mysql.jdbc.MysqlIO.reuseAndReadPacket(MysqlIO.java:2873) at com.mysql.jdbc.MysqlIO.readFully(MysqlIO.java:2329) at com.mysql.jdbc.util.ReadAheadInputStream.readFromUnderlyingStreamIfNecessary(ReadAheadInputStream.java:160) at java.net.SocketInputStream.read(Unknown Source)at com.mysql.jdbc.SQLError.createCommunicationsException(SQLError.java:1074)
所以最根本的原因是由于数据库连接关闭所以抛出java.net.SocketTimeoutException: Read timed out,调用返回到checkErrorPacket方法,方法中抛出SQLError.createCommunicationsException创建CommunicationsException异常。因为DataSource类型配置的”SIMPLE”,所以获取数据库连接调用SimpleDataSource类的popConnection方法,从连接池空闲链表获取,问题还是出在连接池的使用上。MySQL服务”wait_timeout”默认值是28800s,即意味着如果一个数据库连接的空闲时间超过8个小时,MySQL将自动断开连接,而连接池中并没有校验此连接的有效性而依然持有此连接,当下一次使用此连接时,就会出现com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure
。
所以解决办法是对症下药,对连接进行有效性监测,更改iBATIS配置文件如下。这个系统使用的人员有限,并发量很小,连接池中最大连接数为5,最大空闲连接数为3就够用了,减少资源浪费。在数据库连接池回收连接时,如果空闲连接数大于等于3则将真正调用conn.getRealConnection().close();
关闭此连接,否则使用SimplePooledConnection
重新封装连接放入空闲链表中,供下个数据库请求线程申请。
<dataSource type="SIMPLE"> <property name="JDBC.Driver" value="com.mysql.jdbc.Driver"/> <property name="JDBC.ConnectionURL" value="jdbc:mysql:xxx?autoReconnect=true"/> <property name="JDBC.Username" value="root"/> <property name="JDBC.Password" value="xxx"/> <!-- 池中最大连接数 --> <property name="Pool.MaximumActiveConnections" value="8"/> <!-- 池中最大空闲连接数 --> <property name="Pool.MaximumIdleConnections" value="3"/> <!-- 池中,连接被获取的最大时间,当下一个数据库任务申请MySQL连接而无空闲时,连接数已达到 MaximumActiveConnections连接池强制收回超过这个时间限定的连接使用。(毫秒) --> <property name="Pool.MaximumCheckoutTime" value="60000"/> <!-- 连接池中无连接可使用时,等待的时间。(毫秒) --> <property name="Pool.TimeToWait" value="10000"/> <!-- 连接状态检测语句 --> <property name="Pool.PingQuery" value="select 1 from user"/> <!-- 开启状态检测 --> <property name="Pool.PingEnabled" value="true"/> <!-- 对持续连接时间超过设定值(毫秒)的连接进行检测,0不检测 --> <property name="Pool.PingConnectionsOlderThan" value="0"/> <!-- 对空闲时间超过半小时的连接进行有效性检测 --> <property name="Pool.PingConnectionsNotUsedFor" value="1800000"/></dataSource>
延长MySQL wait_timeout变量值可有可无,考虑工作人员放假等时间,设置为2星期,重启MySQL服务时需要重新设置。也可写在配置MySQL配置文件中,但是需要重启MySQL服务,生产环境不现实。
- 数据库连接池与com.mysql.jdbc.exceptions.jdbc4.CommunicationsException异常
- Mysql异常com.mysql.jdbc.exceptions.jdbc4.CommunicationsException..CommunicationsException: Communicati
- mysql数据库连接超时com.mysql.jdbc.exceptions.jdbc4.CommunicationsException问题
- java链接Mysql异常:com.mysql.jdbc.exceptions.jdbc4.CommunicationsException:
- Mysql异常:com.mysql.jdbc.exceptions.jdbc4.CommunicationsException
- Mysql异常com.mysql.jdbc.exceptions.jdbc4.CommunicationsException:Communications
- com.mysql.jdbc.exceptions.jdbc4.CommunicationsException
- com.mysql.jdbc.exceptions.jdbc4.CommunicationsException
- mysql的异常:com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure
- mysql 数据库问题com.mysql.jdbc.exceptions.jdbc4.CommunicationsException
- mysql连接com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link
- mysql连接com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link
- mysql 数据库问题com.mysql.jdbc.exceptions.jdbc4.CommunicationsException
- mysql 数据库问题com.mysql.jdbc.exceptions.jdbc4.CommunicationsException
- MySQL错误com.mysql.jdbc.exceptions.jdbc4.CommunicationsException:
- 异常解决:Caused by: com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure
- 常见异常整理之一:com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure The la
- com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure
- iOS接入支付宝支付(小白都能看懂的支付宝支付)
- 三极管的三个工作状态
- 题目1194:八进制
- 给已经存在的项目添加git
- 谷歌浏览器禁用缓存
- 数据库连接池与com.mysql.jdbc.exceptions.jdbc4.CommunicationsException异常
- 史上最简单的Recycleview自定义下拉刷新
- es(elasticsearch)游标(查询)的理解
- 封面与目录不要页码,从第三页正文开始要页码的设置方法
- 题目1195:最长&最短文本
- 开发服务端程序,在存在并发请求场景下,需要考虑一些常规事项简单梳理和总结
- 数据库大小写敏感问题
- woowj 首页推荐商品
- luogu P1015 回文数