异常如下:
-
Exception
in thread
"pool-3-thread-2" org.mybatis.spring.MyBatisSystemException: nested exception
is org.apache.ibatis.exceptions.PersistenceException:
-
### Error updating database. Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection; nested exception is com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure
-
-
The last packet successfully received
from the server was
1,
610 milliseconds ago. The last packet sent successfully to the server was
1,
583 milliseconds ago.
-
### Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection; nested exception is com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure
-
-
The last packet successfully received
from the server was
1,
610 milliseconds ago. The last packet sent successfully to the server was
1,
583 milliseconds ago.
-
at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:
77)
-
at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:
446)
-
at com.sun.proxy.$Proxy59.insert(Unknown Source)
-
at org.mybatis.spring.SqlSessionTemplate.insert(SqlSessionTemplate.java:
278)
-
at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:
58)
-
at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:
59)
-
at com.sun.proxy.$Proxy68.insertSelectiveList(Unknown Source)
-
at com.gwd.movie.service.impl.AnalyzeMovieHtmlServiceImpl.getView(AnalyzeMovieHtmlServiceImpl.java:
111)
-
at com.gwd.movie.service.impl.AnalyzeMovieHtmlServiceImpl.getDoc(AnalyzeMovieHtmlServiceImpl.java:
127)
-
at com.gwd.movie.service.impl.AnalyzeMovieHtmlServiceImpl.getTitleDetailUrl(AnalyzeMovieHtmlServiceImpl.java:
214)
-
at com.gwd.movie.service.impl.AnalyzeMovieHtmlServiceImpl$
1.run(AnalyzeMovieHtmlServiceImpl.java:
189)
-
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
-
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
-
at java.lang.Thread.run(Unknown Source)
-
Caused by: org.apache.ibatis.exceptions.PersistenceException:
-
### Error updating database. Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection; nested exception is com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure
-
-
The last packet successfully received
from the server was
1,
610 milliseconds ago. The last packet sent successfully to the server was
1,
583 milliseconds ago.
-
### Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection; nested exception is com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure
-
-
The last packet successfully received
from the server was
1,
610 milliseconds ago. The last packet sent successfully to the server was
1,
583 milliseconds ago.
-
at org.apache.ibatis.exceptions.ExceptionFactory.wrapException(ExceptionFactory.java:
30)
-
at org.apache.ibatis.session.defaults.DefaultSqlSession.update(DefaultSqlSession.java:
200)
-
at org.apache.ibatis.session.defaults.DefaultSqlSession.insert(DefaultSqlSession.java:
185)
-
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 org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:
433)
-
...
12 more
-
Caused by: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection; nested exception
is com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure
-
-
The last packet successfully received
from the server was
1,
610 milliseconds ago. The last packet sent successfully to the server was
1,
583 milliseconds ago.
-
at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:
81)
-
at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:
82)
-
at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:
68)
-
at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:
338)
-
at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:
84)
-
at org.apache.ibatis.executor.SimpleExecutor.doUpdate(SimpleExecutor.java:
49)
-
at org.apache.ibatis.executor.BaseExecutor.update(BaseExecutor.java:
117)
-
at org.apache.ibatis.executor.CachingExecutor.update(CachingExecutor.java:
76)
-
at org.apache.ibatis.session.defaults.DefaultSqlSession.update(DefaultSqlSession.java:
198)
-
...
18 more
-
Caused by: com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure
-
-
The last packet successfully received
from the server was
1,
610 milliseconds ago. The last packet sent successfully to the server was
1,
583 milliseconds 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:
425)
-
at com.mysql.jdbc.SQLError.createCommunicationsException(SQLError.java:
990)
-
at com.mysql.jdbc.ExportControlled.transformSocketToSSLSocket(ExportControlled.java:
201)
-
at com.mysql.jdbc.MysqlIO.negotiateSSLConnection(MysqlIO.java:
4914)
-
at com.mysql.jdbc.MysqlIO.proceedHandshakeWithPluggableAuthentication(MysqlIO.java:
1663)
-
at com.mysql.jdbc.MysqlIO.doHandshake(MysqlIO.java:
1224)
-
at com.mysql.jdbc.ConnectionImpl.coreConnect(ConnectionImpl.java:
2199)
-
at com.mysql.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java:
2230)
-
at com.mysql.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:
2025)
-
at com.mysql.jdbc.ConnectionImpl.
(ConnectionImpl.java:
778)
-
at com.mysql.jdbc.JDBC4Connection.
(JDBC4Connection.java:
47)
-
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:
425)
-
at com.mysql.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:
386)
-
at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:
330)
-
at com.alibaba.druid.pool.DruidAbstractDataSource.createPhysicalConnection(DruidAbstractDataSource.java:
1408)
-
at com.alibaba.druid.pool.DruidAbstractDataSource.createPhysicalConnection(DruidAbstractDataSource.java:
1464)
-
at com.alibaba.druid.pool.DruidDataSource.init(DruidDataSource.java:
684)
-
at com.alibaba.druid.pool.DruidDataSource.getConnection(DruidDataSource.java:
991)
-
at com.alibaba.druid.pool.DruidDataSource.getConnection(DruidDataSource.java:
987)
-
at com.alibaba.druid.pool.DruidDataSource.getConnection(DruidDataSource.java:
103)
-
at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:
151)
-
at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:
115)
-
at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:
78)
-
...
26 more
-
Caused by: javax.net.ssl.SSLException: java.lang.SecurityException: JCE cannot authenticate the provider SunJCE
-
at sun.security.ssl.Alerts.getSSLException(Unknown Source)
-
at sun.security.ssl.SSLSocketImpl.fatal(Unknown Source)
-
at sun.security.ssl.SSLSocketImpl.fatal(Unknown Source)
-
at sun.security.ssl.SSLSocketImpl.handleException(Unknown Source)
-
at sun.security.ssl.SSLSocketImpl.startHandshake(Unknown Source)
-
at sun.security.ssl.SSLSocketImpl.startHandshake(Unknown Source)
-
at com.mysql.jdbc.ExportControlled.transformSocketToSSLSocket(ExportControlled.java:
186)
-
...
50 more
-
Caused by: java.lang.SecurityException: JCE cannot authenticate the provider SunJCE
-
at javax.crypto.Cipher.getInstance(Cipher.java:
657)
-
at java.security.Signature$Delegate.newInstance(Unknown Source)
-
at java.security.Signature$Delegate.chooseProvider(Unknown Source)
-
at java.security.Signature$Delegate.engineInitVerify(Unknown Source)
-
at java.security.Signature.initVerify(Unknown Source)
-
at sun.security.ssl.RSASignature.engineInitVerify(Unknown Source)
-
at java.security.Signature$Delegate.init(Unknown Source)
-
at java.security.Signature$Delegate.chooseProvider(Unknown Source)
-
at java.security.Signature$Delegate.engineInitVerify(Unknown Source)
-
at java.security.Signature.initVerify(Unknown Source)
-
at sun.security.ssl.HandshakeMessage$DH_ServerKeyExchange.
(Unknown Source)
-
at sun.security.ssl.ClientHandshaker.processMessage(Unknown Source)
-
at sun.security.ssl.Handshaker.processLoop(Unknown Source)
-
at sun.security.ssl.Handshaker.process_record(Unknown Source)
-
at sun.security.ssl.SSLSocketImpl.readRecord(Unknown Source)
-
at sun.security.ssl.SSLSocketImpl.performInitialHandshake(Unknown Source)
-
...
53 more
-
Caused by: java.util.jar.JarException: Class
is on the bootclasspath
-
at javax.crypto.JarVerifier.verify(JarVerifier.java:
286)
-
at javax.crypto.JceSecurity.verifyProviderJar(JceSecurity.java:
164)
-
at javax.crypto.JceSecurity.getVerificationResult(JceSecurity.java:
190)
-
at javax.crypto.Cipher.getInstance(Cipher.java:
653)
-
...
68 more
-
Sun Oct
21
16:
25:
41 CST
2018 WARN: Establishing SSL connection without serve
r's identity verification is not recommended. According to MySQL 5.5.45+, 5.6.26+ and 5.7.6+ requirements SSL connection must be established by default if explicit option isn't set. For compliance
with existing applications
not using SSL the verifyServerCertificate property
is set to
'false'. You need either to explicitly disable SSL by setting useSSL=false,
or set useSSL=true
and provide truststore
for server certificate verification.
-
Sun Oct
21
16:
25:
42 CST
2018 WARN: Establishing SSL connection without serve
r's identity verification is not recommended. According to MySQL 5.5.45+, 5.6.26+ and 5.7.6+ requirements SSL connection must be established by default if explicit option isn't set. For compliance
with existing applications
not using SSL the verifyServerCertificate property
is set to
'false'. You need either to explicitly disable SSL by setting useSSL=false,
or set useSSL=true
and provide truststore
for server certificate verification.
-
Sun Oct
21
16:
25:
42 CST
2018 WARN: Establishing SSL connection without serve
r's identity verification is not recommended. According to MySQL 5.5.45+, 5.6.26+ and 5.7.6+ requirements SSL connection must be established by default if explicit option isn't set. For compliance
with existing applications
not using SSL the verifyServerCertificate property
is set to
'false'. You need either to explicitly disable SSL by setting useSSL=false,
or set useSSL=true
and provide truststore
for server certificate verification.
-
Sun Oct
21
16:
25:
42 CST
2018 WARN: Establishing SSL connection without serve
r's identity verification is not recommended. According to MySQL 5.5.45+, 5.6.26+ and 5.7.6+ requirements SSL connection must be established by default if explicit option isn't set. For compliance
with existing applications
not using SSL the verifyServerCertificate property
is set to
'false'. You need either to explicitly disable SSL by setting useSSL=false,
or set useSSL=true
and provide truststore
for server certificate verification.
解决方案:
原
spring.datasource.url=jdbc:mysql://xx.xx.xx.xx/XX?characterEncoding=UTF-8
加上&useSSL=false
spring.datasource.url=jdbc:mysql:/xx.xx.xx.xx/XX?characterEncoding=UTF-8&useSSL=false