29.2. 为 KIE 服务器配置并运行 Red Hat JBoss EAP 7.4 集群
为 KIE 服务器配置红帽 JBoss EAP 集群,然后启动该群集。
流程
- 在所有属于此群集的红帽 JBoss EAP 实例上安装 JDBC 驱动程序。如需更多信息,请参阅 Red Hat JBoss EAP 7.4 配置指南中的 " JDBC 驱动程序 "部分。
-
在文本编辑器中打开
EAP_HOME/standalone/configuration/standalone-full.xml
文件。 编辑
data-stores
属性以及其上面的timer-service thread-pool-name
:-
datasource-jndi-name
是此流程开始时指定的数据库的 JNDI 名称。 -
您可以为
partition
属性的值输入任何名称。但是,节点只会看到来自具有相同分区名称的其他节点的计时器。通过分配分区名称将节点分组到分区中,您可以将大型集群分成几个较小的集群。这样做可以提高性能。例如,某个集群不是 100 个节点,其中所有 100 个节点都试图执行和刷新相同的计时器,您可以通过为每个组 5 个不同的分区名称来创建 20 个集群。 -
将
default-data-store
属性值替换为ejb_timer_ds
。 以毫秒为单位设置
刷新间隔
值,以指定 EJB 计时器连接到数据库以同步和加载任务的频率。<timer-service thread-pool-name="default" default-data-store="ejb_timer_ds"> <data-stores> <database-data-store name="ejb_timer_ds" datasource-jndi-name="java:jboss/datasources/ejb_timer" database="postgresql" partition="ejb_timer_part" refresh-interval="30000"/> </data-stores> </timer-service>
下表列出了支持的数据库以及对应的
数据库
属性值:表 29.1. 支持的数据库 数据库 属性值 Hyper SQL(仅用于演示目的,不支持)
hsql
PostgreSQL
postgresql
Oracle
oracle
IBM DB2
db2
Microsoft SQL Server
mssql
MySQL 和 MariaDB
mysql
-
将 KIE 服务器和 EJB 计时器数据源添加到
standalone-full.xml
文件。在这些示例中,<DATABASE&
gt; 是数据库的名称,<SERVER_NAME&
gt; 是 JNDI 数据库的主机名,<USER_NAME>
和<USER_PWD
> 是该数据库的凭据。添加数据源以允许 KIE 服务器连接到数据库,例如:
<xa-datasource jndi-name="java:/jboss/datasources/rhpam" pool-name="rhpam-RHPAM" use-java-context="true" enabled="true"> <xa-datasource-property name="DatabaseName"><DATABASE></xa-datasource-property> <xa-datasource-property name="PortNumber">5432</xa-datasource-property> <xa-datasource-property name="ServerName"><SERVER_NAME></xa-datasource-property> <driver>postgresql</driver> <security> <user-name><USER_NAME></user-name> <password><USER_PWD></password> </security> </xa-datasource>
添加数据源以启用 EJB 计时器,例如:
<xa-datasource jndi-name="java:jboss/datasources/ejb_timer" pool-name="ejb_timer" use-java-context="true" enabled="true"> <xa-datasource-property name="DatabaseName"><DATABASE></xa-datasource-property> <xa-datasource-property name="PortNumber">5432</xa-datasource-property> <xa-datasource-property name="ServerName"><SERVER_NAME></xa-datasource-property> <driver>postgresql</driver> <transaction-isolation>TRANSACTION_READ_COMMITTED</transaction-isolation> <security> <user-name><USER_NAME></user-name> <password><USER_PWD></password> </security> </xa-datasource>
警告您必须对 KIE 服务器运行时数据和 EJB 计时器数据使用两个不同的数据库。
在 <
system-properties
> 元素中添加以下属性,并替换以下占位符:-
<JNDI_NAME
> 是数据源的 JNDI 名称。对于 Red Hat Process Automation Manager,这是java:/jboss/datasources/rhpam
。 <DIALECT
> 是您数据库的休眠状态。支持以下分区:
-
DB2:
org.hibernate.dialect.DB2Dialect
-
MSSQL:
org.hibernate.SQLServer 2012Dialect
-
MySQL:
org.hibernate.dialect.MySQL5InnoDBDialect
-
MariaDB:
org.hibernate.dialect.MySQL5InnoDBDialect
-
Oracle:
org.hibernate.dialect.Oracle10gDialect
-
PostgreSQL:
org.hibernate.dialect.PostgreSQL82Dialect
PostgreSQL 加上:
org.hibernate.dialect.PostgresPlusPlusDialect
<system-properties> <property name="org.kie.server.persistence.ds" value="<JNDI_NAME>"/> <property name="org.kie.server.persistence.dialect" value="<DIALECT>"/> <property name="org.jbpm.ejb.timer.tx" value="true"/> </system-properties>
-
DB2:
-
-
保存
standalone-full.xml
文件。 要启动集群,请导航到
EAP_HOME/bin
并输入以下命令之一:在 Linux 或基于 UNIX 的系统中:
$ ./standalone.sh -c standalone-full.xml
在 Windows 中:
standalone.bat -c standalone-full.xml