Datenbanken
Die Anwendung Flowset Control unterstützt Verbindungen zu PostgreSQL, MySQL und dem integrierten HSQLDB. Die Konfiguration erfolgt über die Datei application.properties und Umgebungsvariablen in Docker Compose.
Allgemeine Konfiguration
Die Hauptdatei application.properties befindet sich in src/main/resources und enthält die allgemeinen Verbindungsparameter.
# Database connection settings
main.datasource.url=jdbc:hsqldb:file:./data/flowset-control;shutdown=true
main.datasource.driver-class-name=org.hsqldb.jdbc.JDBCDriver
main.datasource.username=sa
main.datasource.password=
|
Wenn keine Umgebungsvariablen gesetzt sind, verwendet die Anwendung das integrierte HSQLDB. |
Docker-Compose-Konfiguration
Um Flowset Control zusammen mit der Datenbank Ihrer Wahl in einem Container auszuführen, verwenden Sie die folgenden Umgebungsvariablen:
| Parameter | Beschreibung |
|---|---|
|
JDBC-Verbindungs-URL für die Datenbank. |
|
Name der Treiberklasse. |
|
Anmeldedaten für die Datenbankverbindung. |
HSQLDB (Standardmodus)
Wenn die Anwendung ohne externe Datenbank gestartet wird, erstellt sie automatisch eine lokale Datei im Verzeichnis ./data/flowset-control.
Diese Option ist praktisch für Entwicklung und Tests.
|
HSQLDB wird für Produktions-Deployments nicht empfohlen, da es keine hohe Performance oder Fehlertoleranz bietet. |
PostgreSQL
PostgreSQL ist ein modernes, quelloffenes objektrelationales Datenbankmanagementsystem. Es ist bekannt für seine Zuverlässigkeit, die Einhaltung von SQL-Standards und eine aktive Entwicklergemeinschaft. Aufgrund seiner hohen Kompatibilität und Stabilität ist PostgreSQL die empfohlene Wahl für Produktionsumgebungen von Flowset Control.
services:
flowset-control-database:
image: postgres:16.3
container_name: flowset-control-database
restart: "no"
ports:
- "5432:5432"
volumes:
- flowset-control-database_data:/var/lib/postgresql/data
environment:
POSTGRES_USER: "root"
POSTGRES_PASSWORD: "root"
POSTGRES_DB: "flowset-control"
flowset-control:
image: flowset/flowset-control-community:latest
depends_on:
flowset-control-database:
condition: service_started
ports:
- "8081:8081"
environment:
MAIN_DATASOURCE_URL: jdbc:postgresql://flowset-control-database/flowset-control
MAIN_DATASOURCE_DRIVERCLASSNAME: org.postgresql.Driver
MAIN_DATASOURCE_USERNAME: root
MAIN_DATASOURCE_PASSWORD: root
SERVER_PORT: "8081"
volumes:
flowset-control-database_data:
MySQL
MySQL ist eines der am weitesten verbreiteten Datenbankmanagementsysteme und wird von vielen Anwendungen und Cloud-Plattformen unterstützt. Der Einsatz mit Flowset Control eignet sich sowohl für Entwicklungs- als auch für Produktionsumgebungen, in denen Kompatibilität mit vorhandener Infrastruktur erforderlich ist.
MySQL bietet stabile Performance, unkomplizierte Konfiguration und eine breite Unterstützung von JDBC-Treibern. Beim Betrieb in Containern mit neueren MySQL-Versionen (8.x und höher) ist es jedoch wichtig, die Besonderheiten der Authentifizierung und die Sicherheitsparameter der Verbindung zu berücksichtigen.
services:
flowset-control-database:
image: mysql:latest
container_name: flowset-control-database
environment:
MYSQL_DATABASE: flowset-control
MYSQL_ROOT_PASSWORD: root
ports:
- "3306:3306"
volumes:
- flowset-control-database_data:/var/lib/mysql
flowset-control:
image: flowset/flowset-control-community:latest
depends_on:
flowset-control-database:
condition: service_started
ports:
- "8081:8081"
environment:
MAIN_DATASOURCE_URL: jdbc:mysql://flowset-control-database/flowset-control?useSSL=false&allowPublicKeyRetrieval=true&allowMultiQueries=true&serverTimezone=UTC
MAIN_DATASOURCE_DRIVERCLASSNAME: com.mysql.cj.jdbc.Driver
MAIN_DATASOURCE_USERNAME: root
MAIN_DATASOURCE_PASSWORD: root
SERVER_PORT: "8081"
volumes:
flowset-control-database_data:
|
Der Parameter |