Aus Performance-Gründen werden die initialen Testdaten durch checkerberry db im Batch-Modus in die Datenbank geschrieben. Beim Einspielen der Testdaten wird für jeden einzufügenden Datensatz ein SQL-INSERT-Statement an die Datenbank gesendet. Durch die Verwendung des Batch-Modus wird nicht jedes SQL-Statement separat an die Datenbank gesendet. Stattdessen werden die SQL-Statements gesammelt und zusammen an die Datenbank übertragen. Dadurch wird die Kommunikation mit der Datenbank minimiert, was insbesondere bei großen Datenmengen zu Performance-Vorteilen führt.
Die Anzahl der SQL-Statements, die zusammen an die Datenbank gesendet wird, bezeichnet man als BatchSize. Die BatchSize ist initial auf den Wert 100 gesetzt und kann über das DbUnit-Property http://www.dbunit.org/properties/batchSize konfiguriert werden [DbUnit-Properties, 2010].
Die Verwendung des Batch-Modus ist dann ein Nachteil, wenn bei dem Einspielen der initialen Testdaten ein Fehler auftritt. Beim Einspielen der Daten durch DbUnit im Batch-Modus kann nicht angegeben werden, welches Statement den Fehler verursacht hat. Aus diesem Grund bietet checkerberry db die Möglichkeit, SQL-Statements zu loggen. Auf diese Art und Weise kann der Entwickler genau nachvollziehen, wann welche Anfragen an die Datenbank gesendet wurden. Dies vereinfacht die Suche nach der Fehlerursache.
Die Konfiguration des Datenbank-Loggings ist optional. In der Regel wird das Logging nur zu Analysezwecken aktiviert, sodass während der Installation keine weiteren Schritte erforderlich sind.
Beispiel 2.52. Aktivierung des Datenbank-Loggings
public class ConfigurationCallback implements DbConfigurationCallback { public void configure(DbConfiguration configuration) { // Datenbank-Logging aktivieren configuration.setStatementLoggingEnabled(true); }
Das obige Code-Beispiel demonstriert, wie das Datenbank-Logging
über die Methode setStatementLoggingEnabled
aktiviert wird.
Intern verwendet checkerberry db das
Datenbank-Interceptor-Werkzeug P6Spy, um die Zugriffe zur Datenbank zu
loggen. Standardmäßig wird eine eingebaute Konfiguration verwendet,
die die Log-Ausgabe in die Konsole schreibt. Zur Änderung der
P6Spy-Konfigurationseinstellungen, kann eine eigene Datei
spy.properties
in den Klassenpfad einfügt werden.
Die Konfiguration der Property-Datei ist in [P6Spy
Dokumentation, 2010] beschrieben.