# Connection Poll ohne TomCat



## Bluevelvet64 (21. Jun 2007)

Hallo

wechsle gerade von Applikation programmierung auf WebApps Programmierung.

Ich möchte einen Zugriff einer Webanwndung auf MySql realisieren. Will aber dafür keine Resource über den TomCat aufbauen, sondern erst über den Start der Anwendung eine Verbindung aufbauen, die dann aber die Laufzeit der Applikation über anhält.

ich vermute das ich dafür eine Java-Klasse schreiben muss und diese dann über die web.xml beim starten der Anwendung mitstarte. 

Frage:

Wie ist die vorgehensweise.

Wie trage ich ( wenn ) die Klasse in der web.xml ein und was ist dann das Objekt über das ich auf die Datenbank zugreifen kann.
Was ist in der Java-Klasse zu beachten im vergleich zu einer Connection-Klasse für Desktopanwendungen.

Danke für eure Antworten

MfG


----------



## freez (21. Jun 2007)

Hallo Bluevelvet64,

schreibe dir doch ne Klasse (DAO), die dir deine Connection aufbaut und vorhält. Diese Instanziierst du in deiner Bean, die darauf zugreift. Wäre jedenfalls das einfachste.

Was aber spricht gegen eine Verbindung über den ConnectionPool von Tomcat?

Korrigiert mich mal einer, wenn ich falsch liege, aber Hibernate macht doch auch was in der Richtung, oder? Habe bis jetzt nur davon gehört und wollte es einfach mal erwähnt haben. Vielleicht hilft es dir ja.


----------



## DP (22. Jun 2007)

ja, hibernate ist u.a. für sowas gedacht.


----------



## Guest (22. Jun 2007)

Ich möchte Tomcat dafür nicht benutzen, weil.


die Applikation soll sich selbst erst an der Datenbank anmelden wenn diese gestartet wird. Nach dem Login entscheidet die Applikation welche weitere Datenbank benutzt werden soll und muss dann eine neue Connection dafür aufbauen. Die Applikation soll für jeden Kunden eine eigene Datenbank bedienen. Wenn ich über den Tomcat gehe muss ich dort von anfang an alle Datenbanken als Resource eintragen.

Hibernate setze ich vieleicht ein. Allerdings muss sich auch Hibernate mit der datenbank verbinden. 

Wenn Ihr also ein codeschnipzel habt, das mir zeigt wie ich in der Web.xml eine Klasse starte mitaufrufe die dann ihrerseits die Resource zur Verfügung stellt wäre ich echt dankbar.

MfG


----------



## SnooP (22. Jun 2007)

Was heißt denn für jeden Kunden? Jeder User der sich einlogged - oder hast du unterschiedliche "URL"s für untersch. Kunden mit jeweils unterschiedlichen Datenbanken?

Man kann via web.xml auf jeden Fall on-startup ein Servlet laden, welches eine init-Methode implementiert ... dort kann man dann natürlich entsprechend eine db-verbindung aufbaun... das gilt dann natürlich aber von da an für alle Verbindungen gleichzeitig...

Wenn du je nach User auf unterschiedliche DBs gehen willst, wirds schon schwieriger - weil zumindest die user-verwaltung muss dann ja zentral definiert sein  und erst danach kann man weitermachen mit umleiten auf andere dbs - da könnte man ja z.B. nen jdbc-connection-string in die db packen für unterschiedliche User. Aber halt erst nachdem die User-Verifizierung und Identifikation stattgefunden hat...

Wenn der erste Fall zutrifft, kann ich auch noch kleinere code-snippets liefern...


----------



## Bluevelvet64 (2. Jul 2007)

ich meine damit das sich alle über die gleiche URL an einer datenbank anmelden. in der Tabelle steht dann zu jedem Login die DB die dem angemeldeten Uder gehört und der User wird dann mit dieser DB verbunden.

Aber unabhängig davon.

Weis jemand wie der Code im JSP und im Java File ausehen muss, damit eine Datenbankverbindung realisiert wird. Also parallel zu der resource die in TomCat realisiert wird.

MfG


----------

