Eingebettete SQL-Datenbanken in Java

Diese Variationen bedeuten, dass es beim Einbetten einer Datenbank immer noch am besten ist, die Datenbank-Persistenzschicht zu abstrahieren, besonders wenn man seine eigene SQL-Datenbank verwendet. Wie wichtig dies ist, zeigt sich beim Schließen der Datenbank.

Die einfachste Möglichkeit besteht darin, einfach sauber den Prozess zu beenden. Sowohl HSQLDB als auch Derby schließen ihre Datenbanken, wenn die Anwendung beendet wird. Aber bei HSQLDB gibt es einen versteckten Haken: die Schreibverzögerung. Standardmäßig hat HSQLDB eine Schreibverzögerung für alle Aktivitäten von 60 Sekunden. Daran hatte selbst der Autor dieses Artikels beim Entwickeln der Beispiele nicht gedacht und sich gewundert, dass nach einigen schnellen Testdurchläufen auf der Festplatte nur leere Datenbanken zu finden waren. Man kann die Schreibverzögerungsfunktion natürlich ganz deaktivieren oder den eigenen Bedürfnissen entsprechend anpassen.

Nun aber zur empfohlenen Methode, die Datenbank zu schließen. Möglicherweise möchte man die Datenbank schließen, während der Prozess weiterläuft, beispielsweise wenn die Anwendung Wartungsarbeiten durchführt, zu deren Zweck sie auf eine andere Datenbank umschalten muss. HSQLDB ist einfach zu schließen: Man muss nur den Befehl shutdown ausführen und dann die Verbindung schließen. Bei Derby ist der Vorgang etwas komplizierter, hier erfolgt das Schließen der Datenbank über einen Aufruf von getConnection.

Auf dieselbe Weise, wie man Derby die Eigenschaften zum Erstellen einer Datenbank übergibt, schickt man auch den Befehl zum Schließen. Man beachte aber, dass damit nur eine bestimmte Datenbank geschlossen wird, nicht das gesamte Derby-System. Hierzu muss man den JDBC-Treiber entladen und dann wieder neu laden. Schließt man Derby auf diese Weise, so erzeugt die getConnection()-Methode standardmäßig eine Exception (weil es logischerweise keine Verbindung mehr gibt, da die Datenbank ja geschlossen ist).

Page: 1 2 3 4 5

ZDNet.de Redaktion

Recent Posts

Ymir: Ransomware mit ausgeklügelter Verschleierung

Ymir nutzt fortschrittliche Verschleierungsmethoden. Sie verschlüsselt bestimmte Dateien auf einer Whitelist nicht, um einer Entdeckung…

4 Tagen ago

Fünf auf einen Streich: Baseus Nomos 5-in-1 Desktop Charger Qi2 140W

Das weltweit erste 5-in-1-Tischladegerät mit kabelloser Qi2-Aufladung und einziehbarem Kabel.

4 Tagen ago

RansomHub hebt Datenerpressung auf höhere Stufe

RansomHub kann per Fernverschlüsselung über ein einziges ungeschütztes Endgerät Daten im gesamten Netzwerk verschlüsseln.

4 Tagen ago

Shokz OpenRun Pro 2: Die perfekte Kombination aus Knochenschall und Air-Conduction Technik

Die neuen OpenRun Pro 2 von Shokz sind die neueste Weiterentwicklung der beliebten offenen Sportkopfhörer.…

6 Tagen ago

UPDF: PDF-Software zu einem Viertel des Preises von Adobe

PDF-Bearbeitungssoftware jetzt im Black Friday Sale mit 50 Prozent Rabatt!

7 Tagen ago

Neuer Bedarf an Workplace Services durch DEX und KI

ISG untersucht deutschen Workplace-Services-Markt. Digital Employee Experience (DEX) gilt als Schlüssel für neues Wachstum.

7 Tagen ago