Базы данных
Приложение OpenBPM Control поддерживает подключение к PostgreSQL, MySQL и встроенной HSQLDB. Настройки выполняются через файл application.properties и переменные окружения в Docker Compose.
Универсальная конфигурация
Основной файл application.properties расположен в src/main/resources и содержит общие параметры подключения.
# Настройки подключения к базе данных
main.datasource.url=jdbc:hsqldb:file:./data/openbpm-control;shutdown=true
main.datasource.driver-class-name=org.hsqldb.jdbc.JDBCDriver
main.datasource.username=sa
main.datasource.password=
|
Если переменные окружения не заданы, приложение использует встроенную HSQLDB. |
Настройка через Docker Compose
Для запуска OpenBPM Control в контейнере вместе с выбранной базой данных используйте переменные окружения:
| Параметр | Назначение |
|---|---|
|
JDBC-адрес для подключения к базе данных. |
|
Класс драйвера. |
|
Учетные данные для подключения к БД. |
HSQLDB (режим по умолчанию)
Если приложение запускается без внешней базы данных, оно автоматически создаёт локальный файл в каталоге ./data/openbpm-control.
Этот вариант удобен для разработки и тестирования.
|
HSQLDB не рекомендуется для production-развертываний, так как не обеспечивает высокой производительности и отказоустойчивости. |
PostgreSQL
PostgreSQL — современная объектно-реляционная система управления базами данных с открытым исходным кодом. Она отличается надёжностью, соответствием стандартам SQL и активным сообществом разработчиков. Благодаря высокой совместимости и стабильности PostgreSQL рекомендуется для использования в production-средах OpenBPM Control.
services:
openbpm-control-database:
image: postgres:16.3
container_name: openbpm-control-database
restart: "no"
ports:
- "5432:5432"
volumes:
- openbpm-control-database_data:/var/lib/postgresql/data
environment:
POSTGRES_USER: "root"
POSTGRES_PASSWORD: "root"
POSTGRES_DB: "openbpm-control"
openbpm-control:
image: registry.gitflic.ru/project/openbpm/openbpm-control-community/openbpm-control-community:latest
depends_on:
openbpm-control-database:
condition: service_started
ports:
- "8081:8081"
environment:
MAIN_DATASOURCE_URL: jdbc:postgresql://openbpm-control-database/openbpm-control
MAIN_DATASOURCE_DRIVERCLASSNAME: org.postgresql.Driver
MAIN_DATASOURCE_USERNAME: root
MAIN_DATASOURCE_PASSWORD: root
SERVER_PORT: "8081"
volumes:
openbpm-control-database_data:
MySQL
MySQL — одна из наиболее распространённых систем управления базами данных, поддерживаемая многими приложениями и облачными платформами. Её использование в составе OpenBPM Control подходит как для разработки, так и для рабочих сред, где требуется совместимость с существующей инфраструктурой.
MySQL обеспечивает стабильную производительность, удобную настройку и широкую поддержку драйверов JDBC. Однако при работе в контейнерах и новых версиях MySQL (8.x и выше) важно учитывать особенности аутентификации и параметры безопасности соединения.
services:
openbpm-control-database:
image: mysql:latest
container_name: openbpm-control-database
environment:
MYSQL_DATABASE: openbpm-control
MYSQL_ROOT_PASSWORD: root
ports:
- "3306:3306"
volumes:
- openbpm-control-database_data:/var/lib/mysql
openbpm-control:
image: registry.gitflic.ru/project/openbpm/openbpm-control-community/openbpm-control-community:latest
depends_on:
openbpm-control-database:
condition: service_started
ports:
- "8081:8081"
environment:
MAIN_DATASOURCE_URL: jdbc:mysql://openbpm-control-database/openbpm-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:
openbpm-control-database_data:
|
Параметр |