Hallo,

Connection Pool:
pros:
- zentralisiertes Connection Handling
- fertige Komponenten verfügbar (Achtung der Dollschachtel Kram taugt auch hier nichts!), selbige kümmern sich um keep alive, aging und vieles mehr.
- vereinfachte Programmierung Transactions (pro Transaction eigene Connection
- einfacherer Umstieg zu ORM (Hibernate und Co)
- bessere Performance durch wirksameres Caching von prepared Statements möglich
- state of the Art
contra:
- Access Controll wandert in die Application (ist aber Java typisch)

Connection in der Session:
- wird in externen Reviews meist bemängelt
- komplexeres Transaction Management bei überlappenden Transaktionen
- Fehler anfällig im Multithreading
- Je nach Datenbank ist connecten teuer (bei AS400 eher nicht)
- Connections vergammeln
- Keine Komponenten verfügbar

Summa Summarum spricht fast alles für den Pool.

mfg

Dieter Bender

Zitat Zitat von KM Beitrag anzeigen
Ich mache gerade meine ersten Versuche mit JSF/MyFaces. Als erstes wollte ich eine einfache Login-Applikation erstellen. Ich möchte also per JDBC auf die iSeries-Datenbank zugreifen und die Verbindung für spätere Requests offen lassen. Jetzt habe ich herausgefunden, dass es hierfür entweder die Möglichkeit gibt über Connection-Pooling oder ich erstelle eine Connection pro Session und speichere das Connection-Objekt als Session-Variable.
Da später doch viele Benutzer damit arbeiten werden, bin ich unschlüssig welche Variante ich wählen soll. Kann mit jemand evtl. die Vor- und Nachteile beider Varianten aufzeigen ? Beim Connection-Pooling muß ich ja immer einen festen Benutzer zur Herstellung der Verbindung benutzen. Wie mache ich da die User Authentification für den Benutzer, der gerade den Request sendet ? Wie sieht es bei evtl. abnormalen Beendigungen von Requests aus ? Bleiben beim Connection-Pool die Verbindungen dann ewig bestehen ? Bei der Session-Variante wird die Verbindung ja beim Schließen des Browsers beendet.

Irgendwie tendiere ich momentan eher zur Variante mit der Session-Variablen.

Gibt es irgendwelche Meinungen/Erfahrungen dazu ?

Gruß,
KM