Estoy usando Jboss5.0 con mysql en mi aplicación. y habrá gran cantidad de acciones simultáneas y DB contiene considerablemente la gran cantidad de registros.
este error procede con frecuencia.. cada ahora y entonces.

 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)

alguien puede ayudar?

Gracias de antemano

InformationsquelleAutor Tamizh | 2010-10-12

1 Comentario

  1. 5

    Ya sea que usted está intentando llamar a deshacer cuando confirmación automática está activada, o si está usando tablas de tipo MyISAM en su base de datos que no admiten transacciones (y la capacidad de deshacer).

    A juzgar por el stacktrace, una transacción en la base de datos está fallando y en un intento de crear una SQLException y deshacer la transacción, esta excepción está ocurriendo. A menos que no hay más que la excepción (como una indicación de donde en su código de la excepción es la de ser despedido), entonces yo sería un peligro supongo que es debido a tablas MyISAM.

    • im usando innodb y soporte de las transacciones. estoy teniendo transaccionales y no transaccionales a las consultas.
    • se le llama rollback() en el código y si es así, has probado a deshabilitar auto commit antes de hacerlo?
    • sí, siempre que puedo usar las operaciones de primer set autocommit falso. y ahora me encontré con su venida como ADVIERTEN en jboss archivo de registro en lugar de ERROR. así que, en realidad esta es una ADVERTENCIA cuando las conexiones perdidas o parpadeando durante mucho tiempo supongo

Dejar respuesta

Please enter your comment!
Please enter your name here