IDEA中的SQLNestedException异常
最近在B站上学习颜群老师的Java Web课程,今天在学习dbcp连接池时.掉进了异常世界,苦战2小时,回到原来的轨迹.
SQLNestedException异常如下:
Connected to the target VM, address: '127.0.0.1:1732', transport: 'socket'
Exception in thread "main" org.apache.commons.dbcp.SQLNestedException: Cannot create PoolableConnectionFactory (Communications link failure
Last packet sent to the server was 0 ms ago.)
at org.apache.commons.dbcp.BasicDataSource.createPoolableConnectionFactory(BasicDataSource.java:1549)
at org.apache.commons.dbcp.BasicDataSource.createDataSource(BasicDataSource.java:1388)
at org.apache.commons.dbcp.BasicDataSource.getConnection(BasicDataSource.java:1044)
at com.gr2.dbcp.TestDBCP.main(TestDBCP.java:36)
Caused by: com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure
Last packet sent to the server was 0 ms ago.
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:408)
at com.mysql.jdbc.Util.handleNewInstance(Util.java:353)
at com.mysql.jdbc.SQLError.createCommunicationsException(SQLError.java:1074)
at com.mysql.jdbc.Connection.createNewIO(Connection.java:2001)
at com.mysql.jdbc.Connection.<init>(Connection.java:716)
at com.mysql.jdbc.JDBC4Connection.<init>(JDBC4Connection.java:46)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:408)
at com.mysql.jdbc.Util.handleNewInstance(Util.java:353)
at com.mysql.jdbc.Connection.getInstance(Connection.java:295)
at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:266)
at org.apache.commons.dbcp.DriverConnectionFactory.createConnection(DriverConnectionFactory.java:38)
at org.apache.commons.dbcp.PoolableConnectionFactory.makeObject(PoolableConnectionFactory.java:582)
at org.apache.commons.dbcp.BasicDataSource.validateConnectionFactory(BasicDataSource.java:1556)
at org.apache.commons.dbcp.BasicDataSource.createPoolableConnectionFactory(BasicDataSource.java:1545)
... 3 more
Caused by: java.net.ConnectException: Connection refused: connect
at java.net.DualStackPlainSocketImpl.connect0(Native Method)
at java.net.DualStackPlainSocketImpl.socketConnect(DualStackPlainSocketImpl.java:79)
at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:345)
at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:206)
at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:188)
at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:172)
at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)
at java.net.Socket.connect(Socket.java:589)
at java.net.Socket.connect(Socket.java:538)
at java.net.Socket.<init>(Socket.java:434)
at java.net.Socket.<init>(Socket.java:244)
at com.mysql.jdbc.StandardSocketFactory.connect(StandardSocketFactory.java:168)
at com.mysql.jdbc.MysqlIO.<init>(MysqlIO.java:262)
at com.mysql.jdbc.Connection.createNewIO(Connection.java:1926)
... 16 more
学习是自己的事,不得强迫,也不得欺骗自己.
咳咳~
一不小心又想扯道理(明明还是个比白纸还白的小白,哈哈哈)
还好及时发现,我们切回正题 :
- 首先, 排查关键信息是否错误 :
我在学习dbcp,配置信息如👇
dbcp.setDriverClassName("com.mysql.jdbc.Driver" );
dbcp.setUrl("jdbc:mysql://localhost:3306/myschool");
dbcp.setUsername("root");
dbcp.setPassword(null);
dbcp.setInitialSize(20);
dbcp.setMaxActive(10);
dbcp.setMinIdle(5);
却认信息无误,小纠结来袭.
此刻惶恐3秒钟(重复一下: 俺还是小白)
- 复制问题问度娘,没错度娘就是依靠,给咱力量,和前行的方向.
我解决的流程是:看看大家有没有遇见同样的问题,或者类似的,然后去找问题的根源,前面确定代码无误,然后检查Jar文件是否缺失,或者引用错误.
检查过后没有错误,就打开了服务检查,原来问题就出现在这里,MySQL的服务处于关闭状态接下来,启动服务,在次运行项目.问题正解!!!
今天的错误呢,唉~羞愧 (>_<)
原因: 我早上起床打开游戏签到,电脑管家的自动清理把MySQL服务清理掉了,导致错误.
啰嗦一句:自己查比请教深刻的多.
关于查阅:
网络上现在到处都是信息,现在都已经泛滥,如何高效的查找自己所遇到的问题嘞?
推荐: CSDN,博客园,然后捏看看百度知道,大多数问题都能得到正解.
这是我的第二篇文章,自己都知道内容太干了都是文字,如果有幸被前辈们看到.
还请指点…(^ 0 ^)