SQLException: Can’t call commit when autocommit=true

In einem Projekt bei einem grossen Energieversorger habe ich Hibernate 3.X zusammen mit Spring 2.5 konfiguriert, nach der Beschreibung von Eberhard Wolf. Dier Persistenzschicht hat wunderbar funktioniert, bis ich einen Stresstest mit jMeter gemacht habe. Als ich einen aufgezeichneten Testfall in zehn Threads gestartet habe, trat bei einigen Threads folgender Fehler auf:

hibernate java.sql.SQLException: Can't call commit when autocommit=true

Daraufhin habe ich in der Hibernatekonfiguration den Wert explizit auf false gesetzt:

hibernate.connection.autocommit=false

leider blieb der erhoffte Erfolg aus. Die Loesung habe ich in einem JIRA-Eintrag gefunden. An die connection.url muss der Wert “relaxAutoCommit=true” angehaengt werden. Also z.B.

hibernate.connection.url=jdbc:mysql://localhost:3306/project?relaxAutoCommit=true

Seit dem ich meine Connection.url abgeaendert habe ist der Fehler nicht wieder augetreten.

Published by Robert Reiz

CEO @ VersionEye. Passionated software developer since 1998.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: