2018-06-06 at 00:05:20 CST ERROR com.alibaba.druid.util.JdbcUtils 75 close - close connection error com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException: Communications link failure during rollback(). Transaction resolution unknown. at sun.reflect.GeneratedConstructorAccessor73.newInstance(Unknown Source) ~[?:?] at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) ~[?:1.7.0_85] at java.lang.reflect.Constructor.newInstance(Constructor.java:526) ~[?:1.7.0_85] at com.mysql.jdbc.Util.handleNewInstance(Util.java:425) ~[mysql-connector-java-5.1.40.jar:5.1.40] at com.mysql.jdbc.Util.getInstance(Util.java:408) ~[mysql-connector-java-5.1.40.jar:5.1.40] at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:918) ~[mysql-connector-java-5.1.40.jar:5.1.40] at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:897) ~[mysql-connector-java-5.1.40.jar:5.1.40] at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:886) ~[mysql-connector-java-5.1.40.jar:5.1.40] at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:860) ~[mysql-connector-java-5.1.40.jar:5.1.40] at com.mysql.jdbc.ConnectionImpl.rollback(ConnectionImpl.java:4602) ~[mysql-connector-java-5.1.40.jar:5.1.40] at com.mysql.jdbc.ConnectionImpl.realClose(ConnectionImpl.java:4233) ~[mysql-connector-java-5.1.40.jar:5.1.40] at com.mysql.jdbc.ConnectionImpl.close(ConnectionImpl.java:1531) ~[mysql-connector-java-5.1.40.jar:5.1.40] at com.alibaba.druid.util.JdbcUtils.close(JdbcUtils.java:73) [druid-1.1.9.jar:1.1.9] at com.alibaba.druid.pool.DruidDataSource.discardConnection(DruidDataSource.java:1338) [druid-1.1.9.jar:1.1.9] at com.alibaba.druid.pool.DruidDataSource.getConnectionDirect(DruidDataSource.java:1273) [druid-1.1.9.jar:1.1.9] at com.alibaba.druid.pool.DruidDataSource.getConnection(DruidDataSource.java:1233) [druid-1.1.9.jar:1.1.9] at com.alibaba.druid.pool.DruidDataSource.getConnection(DruidDataSource.java:1223) [druid-1.1.9.jar:1.1.9] at com.alibaba.druid.pool.DruidDataSource.getConnection(DruidDataSource.java:90) [druid-1.1.9.jar:1.1.9] at org.springframework.jdbc.datasource.DataSourceTransactionManager.doBegin(DataSourceTransactionManager.java:246) [spring-jdbc-4.3.15.RELEASE.jar:4.3.15.RELEASE] at org.springframework.transaction.support.AbstractPlatformTransactionManager.getTransaction(AbstractPlatformTransactionManager.java:377) [spring-tx-4.3.15.RELEASE.jar:4.3.15.RELEASE] at com.cnc.xdr.etl.load.datatarget.db.jdbc.JdbcIncrementDataTarget.load(JdbcIncrementDataTarget.java:40) [cdt-xdr-node-1.5.1-1.jar:?] at com.cnc.xdr.etl.load.datatarget.db.jdbc.JdbcDataTargetDelegate.load(JdbcDataTargetDelegate.java:56) [cdt-xdr-node-1.5.1-1.jar:?] at com.cnc.xdr.etl.load.datatarget.DataTargetFactory$DataTargetDelegate.load(DataTargetFactory.java:84) [cdt-xdr-node-1.5.1-1.jar:?]
durid版本1.1.9
原提问者GitHub用户zongxingy
这个错误通常是由于在事务回滚期间发生了通信链路故障导致的。当一个事务被回滚时,数据库会撤销对该事务所做的所有更改。如果在回滚期间发生了通信链路故障,数据库将无法完成回滚操作,从而导致事务状态未知。
为了解决这个问题,您可以尝试以下几个方法:
检查通信链路:请检查数据库服务器和应用程序服务器之间的通信链路是否正常。确保网络连接稳定,并且没有防火墙或其他网络设备阻止了通信。
检查数据库状态:请检查数据库服务器的状态,确保数据库服务器正常运行,并且没有出现任何异常情况。如果数据库服务器出现故障,可能会导致回滚操作无法完成。
检查事务管理器:请检查您使用的事务管理器是否正常工作。如果事务管理器出现故障,可能会导致事务回滚失败。您可以尝试使用其他事务管理器来解决这个问题。
检查事务处理的逻辑:请检查您的事务处理逻辑是否正确。如果您的代码中存在逻辑错误,可能会导致事务回滚失败。请确保您的代码中没有矛盾或冲突的事务处理逻辑。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。