Wenn Sie für die X4 BPMS eine externe Datenbank verwenden möchten, müssen zusätzliche Konfigurationsschritte durchgeführt werden. Die X4 BPMS unterstützt die folgenden Datenbanksysteme:
-
Oracle Database
-
PostgreSQL
-
Microsoft SQL Server (MSSQL)
1. Voraussetzungen & Vorbereitung
Bevor Sie mit der Konfiguration der Datasources beginnen, müssen die folgenden Schritte zwingend durchgeführt werden:
-
Leere Datenbank erstellen: Legen Sie vorab eine leere Datenbank mit dem Namen
X4auf Ihrem Datenbanksystem an. -
Migrations- und Installationswerkzeug ausführen: Das X4-Migrations- bzw. Installationswerkzeug muss zwingend ausgeführt werden – auch dann, wenn keine Migration einer bestehenden X4 BPMS-Installation beabsichtigt ist.
Detaillierte Informationen hierzu finden Sie im X4 BPMS Update-Handbuch.
2. Datasources in der standalone.xml konfigurieren
Die Einbindung der externen Datenbank erfolgt über die Konfiguration der Datasources in der zentralen Konfigurationsdatei des WildFly-Application-Servers.
Dateipfad: X4\Server\wildfly\standalone\configuration\standalone.xml
Öffnen Sie die Datei und ersetzen oder ergänzen Sie die entsprechenden <datasource>- und <driver>-Blöcke innerhalb des <datasources>-Subsystems gemäß Ihrem Datenbanksystem.
Option A: PostgreSQL Konfiguration
<!-- PostgreSQL -->
<datasource jta="false" jndi-name="java:/X4BAM_DS" pool-name="X4BAM_DS" enabled="true" use-java-context="true">
<connection-url>jdbc:postgresql://localhost:5432/X4</connection-url>
<driver>postgresql</driver>
<new-connection-sql>SET search_path TO X4SERVER;</new-connection-sql>
<pool>
<max-pool-size>20</max-pool-size>
</pool>
<security user-name="x4" password="x4"/>
<statement>
<prepared-statement-cache-size>20</prepared-statement-cache-size>
<share-prepared-statements>true</share-prepared-statements>
</statement>
<!-- In <validation> und <timeout> Einstellungen zur automatischen Verbindungsherstellung der Verbindung vornehmen -->
<validation>
<check-valid-connection-sql>select 1</check-valid-connection-sql>
<validate-on-match>false</validate-on-match>
<background-validation>true</background-validation>
<background-validation-millis>1000</background-validation-millis>
</validation>
<timeout>
<allocation-retry>60</allocation-retry>
<allocation-retry-wait-millis>1000</allocation-retry-wait-millis>
</timeout>
</datasource>
<datasource jndi-name="java:/PermissionDS" pool-name="PermissionDS" enabled="true" use-java-context="true">
<connection-url>jdbc:postgresql://localhost:5432/X4</connection-url>
<driver>postgresql</driver>
<new-connection-sql>SET search_path TO X4SERVER;</new-connection-sql>
<pool>
<max-pool-size>20</max-pool-size>
</pool>
<security user-name="x4" password="x4"/>
<statement>
<prepared-statement-cache-size>20</prepared-statement-cache-size>
<share-prepared-statements>true</share-prepared-statements>
</statement>
<!-- In <validation> und <timeout> Einstellungen zur automatischen Verbindungsherstellung der Verbindung vornehmen -->
<validation>
<check-valid-connection-sql>select 1</check-valid-connection-sql>
<validate-on-match>false</validate-on-match>
<background-validation>true</background-validation>
<background-validation-millis>1000</background-validation-millis>
</validation>
<timeout>
<allocation-retry>60</allocation-retry>
<allocation-retry-wait-millis>1000</allocation-retry-wait-millis>
</timeout>
</datasource>
<drivers>
...
<driver name="postgresql" module="org.postgresql">
<driver-class>org.postgresql.Driver</driver-class>
</driver>
...
</drivers>
Option B: Microsoft SQL Server (MSSQL) Konfiguration
Hinweis:
Bitte beachten Sie beim Konfigurieren einer MSSQL-Datenbank in einer lokalen Entwicklungsumgebung Folgendes:
Vergewissern Sie sich, dass Sie in der JDBC-URL encrypt=false verwenden. Andernfalls ist ein Start des Servers und/oder eine Migration der Datenbank aufgrund eines TLS-Fehlers nicht möglich.
<!-- MSSQL -->
<datasource jta="false" jndi-name="java:/X4BAM_DS" pool-name="X4BAM_DS" enabled="true" use-ccm="true">
<connection-url>jdbc:sqlserver://localhost:1433;databaseName=X4;encrypt=false</connection-url>
<driver>sqlserver</driver>
<transaction-isolation>TRANSACTION_READ_COMMITTED</transaction-isolation>
<pool>
<min-pool-size>5</min-pool-size>
<max-pool-size>20</max-pool-size>
</pool>
<security user-name="x4" password="x4"/>
<!-- In <validation> und <timeout> Einstellungen zur automatischen Verbindungsherstellung der Verbindung vornehmen -->
<validation>
<check-valid-connection-sql>select 1</check-valid-connection-sql>
<validate-on-match>false</validate-on-match>
<background-validation>true</background-validation>
<background-validation-millis>1000</background-validation-millis>
</validation>
<timeout>
<allocation-retry>60</allocation-retry>
<allocation-retry-wait-millis>1000</allocation-retry-wait-millis>
</timeout>
</datasource>
<datasource jndi-name="java:/PermissionDS" pool-name="PermissionDS" enabled="true" use-ccm="true">
<connection-url>jdbc:sqlserver://localhost:1433;databaseName=X4;encrypt=false</connection-url>
<driver>sqlserver</driver>
<transaction-isolation>TRANSACTION_READ_COMMITTED</transaction-isolation>
<pool>
<min-pool-size>5</min-pool-size>
<max-pool-size>20</max-pool-size>
</pool>
<security user-name="x4" password="x4"/>
<!-- In <validation> und <timeout> Einstellungen zur automatischen Verbindungsherstellung der Verbindung vornehmen -->
<validation>
<check-valid-connection-sql>select 1</check-valid-connection-sql>
<validate-on-match>false</validate-on-match>
<background-validation>true</background-validation>
<background-validation-millis>1000</background-validation-millis>
</validation>
<timeout>
<allocation-retry>60</allocation-retry>
<allocation-retry-wait-millis>1000</allocation-retry-wait-millis>
</timeout>
</datasource>
<drivers>
...
<driver name="sqlserver" module="com.microsoft.sqlserver">
<driver-class>com.microsoft.sqlserver.jdbc.SQLServerDriver</driver-class>
</driver>
...
</drivers>
Option C: Oracle Database Konfiguration
<!-- ORACLE -->
<datasource jta="false" jndi-name="java:/X4BAM_DS" pool-name="X4BAM_DS" enabled="true" use-java-context="true">
<connection-url>jdbc:oracle:thin:@localhost:1521/pluggable-database</connection-url><!-- Hier den entsprechenden Host, Port, SID oder Service-Namen entragen -->
<driver>oracle</driver><!-- Hier den Treiber-Namen eintragen -->
<security user-name="X4SERVER" password="X4"/>
<statement>
<prepared-statement-cache-size>32</prepared-statement-cache-size>
</statement>
<!-- In <validation> und <timeout> Einstellungen zur automatischen Verbindungsherstellung der Verbindung vornehmen -->
<validation>
<check-valid-connection-sql>select 1 from dual</check-valid-connection-sql>
<validate-on-match>false</validate-on-match>
<background-validation>true</background-validation>
<background-validation-millis>1000</background-validation-millis>
</validation>
<timeout>
<allocation-retry>60</allocation-retry>
<allocation-retry-wait-millis>1000</allocation-retry-wait-millis>
</timeout>
</datasource>
<datasource jta="true" jndi-name="java:/PermissionDS" pool-name="PermissionDS" enabled="true" use-java-context="true">
<connection-url>jdbc:oracle:thin:@localhost:1521/pluggable-database</connection-url><!-- Hier den entsprechenden Host, Port, SID oder Service-Namen entragen -->
<driver>oracle</driver><!-- Hier den Treiber-Namen eintragen -->
<security user-name="X4SERVER" password="X4"/>
<statement>
<prepared-statement-cache-size>32</prepared-statement-cache-size>
</statement>
<!-- In <validation> und <timeout> Einstellungen zur automatischen Verbindungsherstellung der Verbindung vornehmen -->
<validation>
<check-valid-connection-sql>select 1 from dual</check-valid-connection-sql>
<validate-on-match>false</validate-on-match>
<background-validation>true</background-validation>
<background-validation-millis>1000</background-validation-millis>
</validation>
<timeout>
<allocation-retry>60</allocation-retry>
<allocation-retry-wait-millis>1000</allocation-retry-wait-millis>
</timeout>
</datasource>
<drivers>
...
<driver name="oracle" module="com.oracle.ojdbc"><!-- Hier den Modul-Namen eintragen -->
<driver-class>oracle.jdbc.driver.OracleDriver</driver-class>
</driver>
...
</drivers>