Frage

Hat das Einstellen eines Verbindungspools bei der Verwendung eines Verbindungspools eine automatische Einstellung einer Verbindung nur diese Verbindung auf diese Verbindung auswirkt?

Wenn ich diese Verbindung schließe, ohne autocommit = true festzulegen und eine neue Verbindung zu erhalten, wird die Richtlinie dieser Verbindung auf autocommit = true festgelegt?

War es hilfreich?

Lösung

Die Antwort wäre bis zu dem Punkt: "Hängt vom verwendeten Verbindungspool ab".

Wenn ich jedoch ein Verbindungspool wäre, hätte ich den Autokommit -Status gemäß der anfänglichen Konfiguration wiederhergestellt. Ich denke, dass andere Verbindungspools dasselbe tun würden.

Andere Tipps

Testszenario:

  1. Setzen Sie AutoCommit = false
  2. Verwenden Sie Transaktionen
  3. Schließen Sie die Verbindung, ohne sie auf autocommit = true einzustellen

Ergebnis: Wann Dies bestimmte Verbindung wird wiederverwendet, es hat immer noch autocommit = false (Andere neue Verbindungen haben das Standard -AutoCommit = true). Also, sobald ich töte Dies Verbindung auf der Datenbankseite und rufen Sie meinen Code erneut an, nur dann enthält mir der Pool eine neue Verbindung mit dem Standard -AutoCommit = true.

Schlussfolgerung: Es betrifft nur Dies Verbindung, aber stellen Sie sicher, dass Sie es vor dem Schließen auf autocommit = true einstellen! (Dies basiert auf realen Tests, nicht auf einer Annahme)

HINWEIS: Dieser Beahvior wird auch hier bezeichnet: http://www.coderanch.com/t/583969/jdbc/databases/tomcat-connection-pool-auto-commit

Ich benutze JDBC mit Tomcat7, Java 1.7, MySQL5.6, Connector/J 5.1.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top