Hallo Zusammen,
ich freue mich, dass ich dieses Forum gefunden habe und bin gespannt ob ihr mit meiner Designfrage umgehen bzw. einen Vorschlag für mich habt.
Ich habe drei verschiedene Datenbanksysteme im Haus, für die ich Klassen zum Verbinden implementiert habe in der Art
Der Aufruf der Connection läuft bis jetzt immer über den statischen Aufruf der dbConnect und wird an hunderten Stellen in meinen Projekten verwendet.
Jetzt bin ich in einem Projekt auf das Problem des Connection TimeOuts versus "To Many Connections" gestoßen - das heißt, ich kann nicht für jedes Query eine eigene Verbindung aufbauen, möchte aber auch nicht von Programmstart an eine einzige Verbindung offen halten, die dann vom Timeout "gekillt wird".
Dafür möchte ich eine Art Datenbank Pool Manager entwickeln, welcher die Datenbankverbindungen managt. Dabei soll es egal sein, mit welchem der drei verfügbaren Datenbanksystemen er sich verbinden soll.
Meine naive Idee war also, ein Interface anzulegen mit der statischen Methode "dbConnect(...)".
Allerdings kann ich ja ein Interface nicht mit einer statischen Methode koppeln.
Sollte ich da mit einer abstrakten Klasse mit Vererbung oder mit abstrakter Methode arbeiten oder wie wäre Eurer Ansicht nach die beste Vorgehensweise?
Viele Grüße
Rentasad
ich freue mich, dass ich dieses Forum gefunden habe und bin gespannt ob ihr mit meiner Designfrage umgehen bzw. einen Vorschlag für mich habt.
Ich habe drei verschiedene Datenbanksysteme im Haus, für die ich Klassen zum Verbinden implementiert habe in der Art
Java:
public static Connection MySqlConnection.dbConnect(Map<String,String> mySqlConfigMap)
Der Aufruf der Connection läuft bis jetzt immer über den statischen Aufruf der dbConnect und wird an hunderten Stellen in meinen Projekten verwendet.
Jetzt bin ich in einem Projekt auf das Problem des Connection TimeOuts versus "To Many Connections" gestoßen - das heißt, ich kann nicht für jedes Query eine eigene Verbindung aufbauen, möchte aber auch nicht von Programmstart an eine einzige Verbindung offen halten, die dann vom Timeout "gekillt wird".
Dafür möchte ich eine Art Datenbank Pool Manager entwickeln, welcher die Datenbankverbindungen managt. Dabei soll es egal sein, mit welchem der drei verfügbaren Datenbanksystemen er sich verbinden soll.
Meine naive Idee war also, ein Interface anzulegen mit der statischen Methode "dbConnect(...)".
Allerdings kann ich ja ein Interface nicht mit einer statischen Methode koppeln.
Sollte ich da mit einer abstrakten Klasse mit Vererbung oder mit abstrakter Methode arbeiten oder wie wäre Eurer Ansicht nach die beste Vorgehensweise?
Viele Grüße
Rentasad