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><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>Copy to Clipboard Copied! Toggle word wrap Toggle overflow 下表列出了支持的数据库以及对应的
数据库属性值:Expand 表 29.1. 支持的数据库 数据库 属性值 Hyper SQL(仅用于演示目的,不支持)
hsqlPostgreSQL
postgresqlOracle
oracleIBM DB2
db2Microsoft SQL Server
mssqlMySQL 和 MariaDB
mysql
-
将 KIE 服务器和 EJB 计时器数据源添加到
standalone-full.xml文件。在这些示例中,<DATABASE> 是数据库的名称,<SERVER_NAME> 是 JNDI 数据库的主机名,<USER_NAME>和<USER_PWD> 是该数据库的凭据。添加数据源以允许 KIE 服务器连接到数据库,例如:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 添加数据源以启用 EJB 计时器,例如:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 警告您必须对 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>
<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>Copy to Clipboard Copied! Toggle word wrap Toggle overflow
-
DB2:
-
-
保存
standalone-full.xml文件。 要启动集群,请导航到
EAP_HOME/bin并输入以下命令之一:在 Linux 或基于 UNIX 的系统中:
./standalone.sh -c standalone-full.xml
$ ./standalone.sh -c standalone-full.xmlCopy to Clipboard Copied! Toggle word wrap Toggle overflow 在 Windows 中:
standalone.bat -c standalone-full.xml
standalone.bat -c standalone-full.xmlCopy to Clipboard Copied! Toggle word wrap Toggle overflow