14.3. 为 KIE 服务器配置 JDBC 数据源
数据源是一个对象,它允许 Java 数据库连接(DSL)客户端(如应用服务器)与数据库建立连接。应用程序在 Java 命名和目录接口(JNDI)树或本地应用程序上下文中查找数据源,并请求数据库连接来检索数据。您必须为 KIE 服务器配置数据源,以确保服务器和指定数据库之间的正确数据交换。
通常,使用 Red Hat Process Automation Manager 的解决方案在一个事务中管理多个资源。JMS,用于异步作业、事件和计时器,例如:Red Hat Process Automation Manager 需要数据源中的 XA 驱动程序,以确保数据原子性和一致的结果。如果监听器中存在不同模式的事务代码,或来自 jBPM 引擎提供的 hook,则还需要 XA 驱动程序。
除非还没有参与单个事务的多个资源,否则请不要使用非 XA 数据源。
对于生产环境,请指定实际的数据源。不要在生产环境中使用示例数据源。
先决条件
- 用于创建数据库连接的 JDBC 供应商是在您要在其上部署 KIE 服务器的所有服务器上配置的,如 Red Hat JBoss Enterprise Application Server Configuration Guide 中的"Creating Datasources"和"Demo Driver"部分所述。
-
Red Hat Process Automation Manager 7.11.0 Add Ons (
rhpam-7.11.0-add-ons.zip)文件从红帽客户门户网站的软件下载页面下载。https://access.redhat.com/jbossnetwork/restricted/listSoftware.html
流程
完成以下步骤以准备您的数据库:
-
将
rhpam-7.11.0-add-ons.zip提取到临时目录中,例如TEMP_DIR。 -
Extract
TEMP_DIR/rhpam-7.11.0-migration-tool.zip. -
将您的当前目录更改为
TEMP_DIR/rhpam-7.11.0-migration-tool/ddl-scripts目录。此目录包含多个数据库类型的 DDL 脚本。 将数据库类型的 DDL 脚本导入到您要使用的数据库中。
- 以下示例在 PostreSQL 中创建了 192.168.1.0/24 数据库结构
psql jbpm < /ddl-scripts/postgresql/postgresql-jbpm-schema.sql
psql jbpm < /ddl-scripts/postgresql/postgresql-jbpm-schema.sqlCopy to Clipboard Copied! Toggle word wrap Toggle overflow 注意如果您将 PostgreSQL 或 Oracle 与 Spring Boot 结合使用,您必须导入相应的 Spring Boot DDL 脚本,例如
/ddl-scripts/oracle/oracle-springboot-jbpm-schema.sql或/ddl-scripts/postgresql/postgresql-springboot-jbpm-schema.sql。注意PostgreSQL DDL 脚本创建 PostgreSQL 模式,其自动递增整数值(OID)列,用于使用
@LOB注解的实体属性。要使用其他二进制列类型,如 BYTEA 而不是 OID,您必须使用postgresql-bytea-jbpm-schema.sql脚本创建 PostgreSQL 模式,并设置 Red Hat Process Automation Managerorg.kie.persistence.postgresql.useBytea=true标志。Red Hat Process Automation Manager 不提供从基于 OID 的 OID 变为基于 BYTEA 模式的迁移工具。
-
将
-
在文本编辑器中打开
EAP_HOME/standalone/configuration/standalone-full.xml,并找到 <system-properties>标签。 在 <
system-properties> 标签中添加以下属性,其中 <DATASOURCE> 是数据源的 JNDI 名称,<HIBERNATE_DIALECT> 是数据库的休眠问题。注意org.kie.server.persistence.ds属性的默认值为java:jboss/datasources/ExampleDS。org.kie.server.persistence.dialect属性的默认值为org.hibernate.dialect.H2Dialect。<property name="org.kie.server.persistence.ds" value="<DATASOURCE>"/> <property name="org.kie.server.persistence.dialect" value="<HIBERNATE_DIALECT>"/>
<property name="org.kie.server.persistence.ds" value="<DATASOURCE>"/> <property name="org.kie.server.persistence.dialect" value="<HIBERNATE_DIALECT>"/>Copy to Clipboard Copied! Toggle word wrap Toggle overflow 以下示例演示了如何为 PostgreSQL hibernate dialect 配置数据源:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
支持以下 dialects:
-
DB2:
org.hibernate.dialect.DB2Dialect -
MSSQL:
org.hibernate.dialect.SQLServer2012Dialect -
MySQL:
org.hibernate.dialect.MySQL5InnoDBDialect -
MariaDB:
org.hibernate.dialect.MySQL5InnoDBDialect -
Oracle:
org.hibernate.dialect.Oracle10gDialect -
PostgreSQL:
org.hibernate.dialect.PostgreSQL82Dialect -
PostgreSQL 加上:
org.hibernate.dialect.PostgresPlusDialect -
Sybase:
org.hibernate.dialect.SybaseASE157Dialect