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).
Ymir nutzt fortschrittliche Verschleierungsmethoden. Sie verschlüsselt bestimmte Dateien auf einer Whitelist nicht, um einer Entdeckung…
Das weltweit erste 5-in-1-Tischladegerät mit kabelloser Qi2-Aufladung und einziehbarem Kabel.
RansomHub kann per Fernverschlüsselung über ein einziges ungeschütztes Endgerät Daten im gesamten Netzwerk verschlüsseln.
Die neuen OpenRun Pro 2 von Shokz sind die neueste Weiterentwicklung der beliebten offenen Sportkopfhörer.…
PDF-Bearbeitungssoftware jetzt im Black Friday Sale mit 50 Prozent Rabatt!
ISG untersucht deutschen Workplace-Services-Markt. Digital Employee Experience (DEX) gilt als Schlüssel für neues Wachstum.