30.2. 为 KIE 服务器配置并运行 Red Hat JBoss EAP 7.3 集群
为 KIE 服务器配置 Red Hat JBoss EAP 集群,然后启动集群。
流程
- 在所有属于此群集的红帽 JBoss EAP 实例上安装 JDBC 驱动程序。有关更多信息,请参阅 Red Hat JBoss EAP 7.3 配置指南中的 "恢复驱动程序 "部分。
-
在文本编辑器中打开
EAP_HOME/standalone/configuration/standalone-full.xml
文件。 编辑
data-stores
属性和以上的timer-service thread-pool-name
:-
datasource-jndi-name
是此流程开始时指定的数据库的 JNDI 名称。 -
您可以为
partition
属性的值输入任何名称。但是,节点只会看到具有相同分区名称的其他节点的计时器。通过分配分区名称将节点分组到分区中,您可以将大型集群分成几个较小的集群。这样做提高了性能。例如,除了具有 100 个节点的集群外,所有 100 个节点都试图执行并刷新同一计时器,您可以通过为每个包括 5 个节点的组指定一个不同的分区名称来创建 20 个每个包括 5 个节点的集群。 -
将
default-data-store
属性值替换为ejb_timer_ds
。 以毫秒为单位设置
refresh-interval
的值,以指定 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>
下表列出了支持的数据库和对应的
数据库
属性值:表 30.1. 支持的数据库
数据库 属性值 Hyper SQL (仅用于演示目的,不支持)
hsql
PostgreSQL
postgresql
Oracle
oracle
IBM DB2
db2
Microsoft SQL Server
mssql
MySQL and MariaDB
mysql
-
将 KIE 服务器和 EJB 计时器数据源添加到
standalone-full.xml
文件中。在这些示例中,<DATABASE&
gt; 是数据库的名称,<SERVER_NAME>
; 是 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>
是数据库的休眠位置。支持以下 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
<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