29.2. KIE Server 向けの Red Hat JBoss EAP 7.4 クラスターの設定および実行
KIE Server 向けに Red Hat JBoss EAP クラスターを設定して、起動します。
手順
- JDBC ドライバーを、このクラスターの一部となる Red Hat JBoss EAP の全インスタンスにインストールします。詳細は、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 個ずつのグループに異なるパーティション名を指定し、ノード 5 個ずつのクラスターを 20 個作成できます。 -
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>以下の表は、サポートされるデータベースと、対応する
database属性値を示しています。Expand 表29.1 サポートされているデータベース データベース 属性値 Hyper SQL (デモを目的としており、サポートはされません)
hsqlPostgreSQL
postgresqlOracle
oracleIBM DB2
db2Microsoft SQL Server
mssqlMySQL および MariaDB
mysql
-
KIE Server および EJB タイマーデータソースを
standalone-full.xmlファイルに追加します。この例では、<DATABASE>はデータベース名、<SERVER_NAME>は JNDI データベースのホスト名、<USER_NAME>および<USER_PWD>はそのデータベースの認証情報になります。以下のように、データソースを追加して、KIE Server がデータベースに接続できるようにします。
<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 Server ランタイムデータおよび EJB タイマーデータに、別々のデータベースを使用する必要があります。
<system-properties>要素に以下のプロパティーを追加し、以下のプレースホルターを置き換えます。-
<JNDI_NAME>は、データソースの JNDI 名です。Red Hat Process Automation Manager の場合はjava:/jboss/datasources/rhpamです。 <DIALECT>は、データベースの hibernate ダイアレクトです。以下の方言がサポートされます。
-
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 plus:
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に移動して、以下のコマンドの 1 つを入力します。Linux または UNIX ベースのシステムの場合:
$ ./standalone.sh -c standalone-full.xmlWindows の場合:
standalone.bat -c standalone-full.xml