java - com.mysql.jdbc.exceptions.MySQLNonTransientConnectionException : Can't call rollback when autocommit=true

标签 java mysql jdbc jboss

我在我的应用程序中使用 Jboss5.0 和 mysql。并且会有很多并发操作,并且数据库包含相当多的记录。 这个错误经常出现..时不时地发生。

 com.mysql.jdbc.exceptions.MySQLNonTransientConnectionException:
 Can't call rollback when
 autocommit=true    at
 com.mysql.jdbc.SQLError.createSQLException(SQLError.java:888)
    at
 com.mysql.jdbc.Connection.rollback(Connection.java:5192)
    at
 org.jboss.resource.adapter.jdbc.local.LocalManagedConnection.rollback(LocalManagedConnection.java:97)
    at
 org.jboss.resource.connectionmanager.TxConnectionManager$TxConnectionEventListener.tidyup(TxConnectionManager.java:783)
    at
 org.jboss.resource.connectionmanager.BaseConnectionManager2.returnManagedConnection(BaseConnectionManager2.java:453)
    at
 org.jboss.resource.connectionmanager.TxConnectionManager$TxConnectionEventListener.connectionClosed(TxConnectionManager.java:734)
    at
 org.jboss.resource.adapter.jdbc.BaseWrapperManagedConnection.closeHandle(BaseWrapperManagedConnection.java:362)
    at
 org.jboss.resource.adapter.jdbc.WrappedConnection.close(WrappedConnection.java:155)

有人可以帮忙吗?

提前致谢

最佳答案

您尝试在自动提交打开时调用回滚,或者您在数据库中使用不支持事务(以及回滚功能)的 MyISAM 类型表。

根据堆栈跟踪判断,数据库事务失败,并且在尝试创建 SQLException 并回滚事务时,发生了此异常。除非异常有更多内容(例如指示在您的代码中的何处触发异常),否则我会冒险猜测这是由于 MyISAM 表造成的。

关于java - com.mysql.jdbc.exceptions.MySQLNonTransientConnectionException : Can't call rollback when autocommit=true,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3911968/

相关文章:

mysql - 将 nHibernate 与 MySql 结合使用时出现身份生成问题

mysql - SQL 根据另一表列条件更新一个表列

java - 为 Oracle RAC 配置 JBoss 数据源

java - libgdx touchup 和 touchdragged 没有被调用,但是 touchdown 是

java - 这可以认为是多态吗?

java - 简单的Java图形

java - 如何停止崩溃的JLabels

mysql - 这个 MySQL 查询如何容易受到 SQL 注入(inject)攻击?

sql-server - 当 set_identity 关闭时,如何将 Spark 数据帧推送到 Sql Server 表?

hadoop - Squirrel 访问 Phoenix/HBase