29.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>
<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 (仅用于演示目的,不支持)
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 服务器连接到数据库,例如:
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>
是数据库的休眠位置。支持以下 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>
<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.xml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 对于 Windows:
standalone.bat -c standalone-full.xml
standalone.bat -c standalone-full.xml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow