Commons DBCP- und Transactions-Frage

Kryptaesthesie

Erfahrenes Mitglied
Hallo zusammen :)

Da bin ich mal wieder auf der Arbeit und schlage mich mit Fremd-Code rum.
In meiner Klasse habe ich einen Pool, realisiert mit Commons DBCP.
Die Klasse hat Methoden wie getInt(String sql) und sqlAusfuehren(String sql), die in sich jeweils eine Connection anfordern.
Doch wie sieht das aus bei Transaktionen und Rollbacks? Muss ich jetzt aus dieser Klasse eine Connection rausholen und diese mit autoCommit = false über mehrere Methodenaufrufe hinweg benutzen, also reinreichen, anstatt die Klasse eine neue Connection holen zu lassen?

Diese beiden Quellen, die ich gefunden habe, sprechen dafür:

  1. http://markmail.org/message/ejk3ainj2zuwamso
  2. http://www.cdf.toronto.edu/~radu/csc309/csc309_Spring2007/handouts/transactioncodes.pdf (PDF)
Wirklich schön finde ich das aber nicht.
Aber sieht fast so aus, oder?


Gruß
Gerrit
 
Du schreibst einen Pool mit DBCP? DBCP *ist* ein Pool...

Bei sauberem Code stellt sowas kein Problem dar. Im Normalfall wird die Connection an die Transaktion und den ausführenden Thread gebunden und kann so vom DataAccess Layer benutzt werden. Der Punkt ist nur: sowas schreibt man nicht selbst, solang man nicht muss. Wenn du dir anschauen magst, wie sowas implementiert wird, schau dir mal ads Transaktionssubsystem des Springframework an. Das ist recht Verständlich und recht sauber implementiert....

Gruß
Ollie
 
Hallo :)

Du schreibst einen Pool mit DBCP? DBCP *ist* ein Pool...

Bei sauberem Code stellt sowas kein Problem dar. Im Normalfall wird die Connection an die Transaktion und den ausführenden Thread gebunden und kann so vom DataAccess Layer benutzt werden. Der Punkt ist nur: sowas schreibt man nicht selbst, solang man nicht muss. Wenn du dir anschauen magst, wie sowas implementiert wird, schau dir mal ads Transaktionssubsystem des Springframework an. Das ist recht Verständlich und recht sauber implementiert....

Gruß
Ollie

Danke für deine Hilfe!
Was du schreibst leuchtet mir auch ein und bei meinen Privat-Projekten stehe ich auch nicht vor so einem Unsinns-Code.
Leider habe ich bei der Arbeit andere Vorraussetzungen! :(
Da wurde aus Unwissenheit vor ca. 2/3 Jahren von dem Team, zu dem ich vor ca. nem halben Jahr hinzugestoßen bin, was "gebastelt", was mich zum Verzweifeln bringt.

Ich denke, ich bin bald an einem Punkt, an dem ich aufgebe und nicht mehr bei jedem Punkt diskutiere um dann später doch ResultSets bis in die JSP hinauf zu reichen - um mal nur ein Beispiel zu nennen. Ich rede gegen eine Wand.
Aber mir fehlen leider Argumente. Was soll ich gegen "Mach es schnell, egal wie! Es geht doch!" sagen?

Lassen wir das Thema an dieser Stelle. Danke für eure Hilfe zu dem leidigen Thema Datenbankverbindung! (dies war ja nicht der erste Thread dazu)


Gruß
Gerrit
 

Neue Beiträge

Zurück