3.2. KIE Server 向けの Red Hat JBoss EAP 7.3 クラスターの設定および実行

KIE Server 向けに Red Hat JBoss EAP クラスターを設定して、起動します。

手順

  1. JDBC ドライバーを、このクラスターの一部となる Red Hat JBoss EAP の全インスタンスにインストールします。詳細は、『Red Hat JBoss EAP 7.3 設定ガイド』「JDBC ドライバー」 セクションを参照してください。
  2. テキストエディターで EAP_HOME/standalone/configuration/standalone-full.xml ファイルを開きます。
  3. data-stores プロパティーと、その上の timer-service thread-pool-name を編集します。

    • datasource-jndi-name は、この手順の最初で指定したデータベースの JNDI 名です。
    • partition プロパティーの値にはあらゆる名前を入力できますが、ノードには、同じパーティション名を持つその他のノードのタイマーのみが表示されます。パーティション名を割り当てて、パーティションでノードをグループ分けすると、大規模なクラスターを複数の小規模クラスターに分割できます。これによりパフォーマンスが改善します。これを行うと、パフォーマンスが向上します。たとえば、1 個のクラスターにノードが 100 個あり、100 個のノードがすべて同じタイマーを実行して更新する代わりに、ノードを 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 属性値を示しています。

      表3.1 サポートされているデータベース

      データベース属性値

      Hyper SQL (デモを目的としており、サポートはされません)

      hsql

      PostgreSQL

      postgresql

      Oracle

      oracle

      IBM DB2

      db2

      Microsoft SQL Server

      mssql

      MySQL および MariaDB

      mysql

  4. 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 タイマーデータに、別々のデータベースを使用する必要があります。

  5. <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>
  6. standalone-full.xml ファイルを保存します。
  7. クラスターを起動するには EAP_HOME/bin に移動して、以下のコマンドの 1 つを入力します。

    • Linux または UNIX ベースのシステムの場合:

      $ ./standalone.sh -c standalone-full.xml
    • Windows の場合:

      standalone.bat -c standalone-full.xml