Connectionpools

Status
Nicht offen für weitere Antworten.

Hannes23

Bekanntes Mitglied
Hallo,

ich gehe gerade meine ersten Schritte in Sachen Datenbankanbindung an MySQL über Java. Da ich mehere GUI-Fenster habe, deren Textfelder mit Datenbankinhalt gefüllt werden müssen, wird hier im Forum meist zu Connectionpools geraten. Ich weiß, dass es schon mehrere Threats dazu gibt, aber ich habe leider dabei nicht das richtige gefunden: Ich würde gerne wissen, wie ConnectionPooling funktioniert und ob es vielleicht im Netz irgendwo Beispiele ohne Benutzung von Tomcat gibt (ich programmiere eine Standalone Anwendung und keine Web-Anwendung).

Danke, Hannes



Umgebung:
SuSE Linux 9.2
MySQL Connector/J 3.1.10
MySQL 4.0.21
Java version "1.4.2_08"
 

Bleiglanz

Gesperrter Benutzer
Bei einer Standalone App bringt ein Connectionpool erst mal gar nichts - ausser Programmierkomfort, weil du wahrscheinlich eh nur eine Verbindung brauchst

size = 0: dann wird sie jedesmal beim close abgebaut und neu wieder aufgebaut, das kannst du auch von Hand (ist bei stark belasteten DB-Hosts nötig)

size = 1: dann ist eine permanent offen, und das kannst du auch ohne Pool

size > 1: wozu??

bauchen könntest du das nur, wenn du Multithreaded mehrere Verbindungen benötigst, aber das ist dann mit oder ohne Pool ein Alptraum...
 

Hannes23

Bekanntes Mitglied
Danke für euere Antworten (und sorry, dass ich mich erst jetzt wieder melde)!

@Bleiglanz:

Mhmm...ok, dann werd ich es wohl mal ohne Connection-Pool versuchen - ist mir ja auch lieber wenn es ohne geht. Bin nur grad am überlegen wie ich das aufbaue. Meine Idee wäre jetzt gewesen eine Datenbankklasse zu entwickeln, in der ich eine Funktion habe, mit ich die DB-Verbindung aufbaue, eine mit der ich sie schließe (die dann beim Verlassen des Programms aufgerufen wird) und eben eine für meine Abfragen.

-Klingt der Aufbau so vernünftig?
-Ich müsste dann ja irgendwie mein Connection-Objekt golbal machen (damit ich von der Funktion Close_DB auf das Connection-Objekt der Open_DB zugreifen kann...ist das möglich oder gibt es einen besseren Weg?

Danke, Hannes
 

Hannes23

Bekanntes Mitglied
Mhmm...hat jetzt eigentlich nicht mehr viel mit dem eigentlichen Thema zu tun - ich werde dafür einen neuen Threat aufmachen....
 
Status
Nicht offen für weitere Antworten.

Neue Themen


Oben