开发者社区> 问答> 正文

回滚()期间发生通信链路故障。事务解决方案未知。

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

展开
收起
山海行 2023-07-05 19:51:39 120 0
2 条回答
写回答
取消 提交回答
  • 北京阿里云ACE会长

    这个错误通常是由于在事务回滚期间发生了通信链路故障导致的。当一个事务被回滚时,数据库会撤销对该事务所做的所有更改。如果在回滚期间发生了通信链路故障,数据库将无法完成回滚操作,从而导致事务状态未知。

    为了解决这个问题,您可以尝试以下几个方法:

    检查通信链路:请检查数据库服务器和应用程序服务器之间的通信链路是否正常。确保网络连接稳定,并且没有防火墙或其他网络设备阻止了通信。

    检查数据库状态:请检查数据库服务器的状态,确保数据库服务器正常运行,并且没有出现任何异常情况。如果数据库服务器出现故障,可能会导致回滚操作无法完成。

    检查事务管理器:请检查您使用的事务管理器是否正常工作。如果事务管理器出现故障,可能会导致事务回滚失败。您可以尝试使用其他事务管理器来解决这个问题。

    检查事务处理的逻辑:请检查您的事务处理逻辑是否正确。如果您的代码中存在逻辑错误,可能会导致事务回滚失败。请确保您的代码中没有矛盾或冲突的事务处理逻辑。

    2023-07-30 15:07:54
    赞同 展开评论 打赏
  • 设置keepAlive=true后修复

    原回答者GitHub用户zongxingy

    2023-07-06 11:09:43
    赞同 展开评论 打赏
问答分类:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载