3.3. Red Hat Process Automation Manager プロジェクトの Java アプリケーションでのパッケージ化およびデプロイ
お使いの Java アプリケーションから、設定した KIE Server にプロジェクトをデプロイする場合は、KieModuleModel インスタンスを使用して kmodule.xml ファイルをプログラムで作成して KIE ベースおよび KIE セッションを定義し、プロジェクトのすべてのリソースを、KIE 仮想ファイルシステム KieFileSystem に追加します。
前提条件
- Red Hat Process Automation Manager ビジネスアセットを含む Java アプリケーションがある。
-
KIE Server がインストールされており、
kie-serverユーザーアクセスが設定されている。インストールオプションは、Red Hat Process Automation Manager インストールの計画 を参照してください。
手順
必要に応じて、プロジェクトに Decision Model and Notation (DMN) アセットが含まれる場合は、Java プロジェクトの該当のクラスパスに以下の依存関係を追加して、DMN 実行可能モデルを有効にしてください。DMN 実行可能モデルを使用すると、DMN プロジェクトの DMN デシジョンテーブルロジックをより効果的に評価できるようになります。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow <version>は、プロジェクトで現在使用されている Red Hat Process Automation Manager の Maven アーティファクトバージョンです (例: 7.67.0.Final-redhat-00024)。注記個別の依存関係に対して Red Hat Process Automation Manager
<version>を指定するのではなく、Red Hat Business Automation BOM (bill of materials) の依存関係をプロジェクトのpom.xmlファイルに追加することを検討してください。Red Hat Business Automation BOM は、Red Hat Decision Manager と Red Hat Process Automation Manager の両方に適用されます。BOM ファイルを追加すると、提供される Maven リポジトリーから、推移的依存関係の適切なバージョンがプロジェクトに含められます。BOM 依存関係の例:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Red Hat Business Automation BOM の詳細情報は、What is the mapping between Red Hat Process Automation Manager and the Maven library version? を参照してください。
KieServicesAPI を使用して、必要な KIE ベースおよび KIE セッションを持つKieModuleModelインスタンスを作成します。KieServicesAPI を使用すれば、KIE ビルド設定およびランタイム設定のすべてにアクセスできます。KieModuleModelインスタンスは、プロジェクトのkmodule.xmlファイルを生成します。kmodule.xml設定の詳細は 「KIE モジュール記述子ファイルの設定」 を参照してください。KieModuleModelインスタンスを XML に変換し、XML をKieFileSystemに追加します。プログラムを使用して
kmodule.xmlを作成し、KieFileSystemに追加Copy to Clipboard Copied! Toggle word wrap Toggle overflow プロジェクトで使用する残りの Red Hat Process Automation Manager アセットをすべて
KieFileSystemインスタンスに追加します。アーティファクトは、Maven プロジェクトファイル構造に含まれる必要があります。Copy to Clipboard Copied! Toggle word wrap Toggle overflow この例では、プロジェクトアセットは、
String変数およびResourceインスタンスの両方として追加されます。ResourceインスタンスはKieResourcesファクトリーを使用して作成され、KieServicesインスタンスにより提供されます。KieResourcesクラスは、InputStreamオブジェクト、URLオブジェクト、およびFileオブジェクト、またはファイルシステムのパスを示すStringを、KieFileSystemが管理するResourceインスタンスに変換する factory メソッドを提供します。プロジェクトのアーティファクトを
KieFileSystemに追加する際に、ResourceTypeプロパティーをResourceオブジェクトに明示的に割り当てることもできます。Copy to Clipboard Copied! Toggle word wrap Toggle overflow buildAll()メソッドとKieBuilderを併用してKieFileSystemのコンテンツをビルドし、KIE コンテナーを作成してデプロイします。Copy to Clipboard Copied! Toggle word wrap Toggle overflow ERRORビルドは、プロジェクトのコンパイルに失敗し、KieModuleが作成されず、KieRepositoryシングルトンに何も追加されないことを示しています。WARNINGまたはINFOの結果は、プロジェクトのコンパイルが成功したことと、ビルドプロセスの詳細を示しています。注記実行可能なルールモデルから Java アプリケーションプロジェクトでルールアセットをビルドするには、プロジェクトの
pom.xmlファイルに以下の依存関係があることを確認します。<dependency> <groupId>org.drools</groupId> <artifactId>drools-model-compiler</artifactId> <version>${rhpam.version}</version> </dependency><dependency> <groupId>org.drools</groupId> <artifactId>drools-model-compiler</artifactId> <version>${rhpam.version}</version> </dependency>Copy to Clipboard Copied! Toggle word wrap Toggle overflow この依存関係は、Red Hat Process Automation Manager のルールアセットが実行可能なルールモデルからビルドされるために必要です。Red Hat Process Automation Manager のコアパッケージに、この依存関係は同梱されていますが、Red Hat Process Automation Manager のアップグレード履歴によっては、この依存関係を手動で追加して、実行可能なルールモデルの動作を有効にする必要がある場合があります。
依存関係を確認したあとに、以下のように変更した
buildAll()オプションを使用して実行可能なモデルを有効にします。kieBuilder.buildAll(ExecutableModelProject.class)
kieBuilder.buildAll(ExecutableModelProject.class)Copy to Clipboard Copied! Toggle word wrap Toggle overflow 実行可能なルールモデルの詳細は、「実行可能ルールモデル」 を参照してください。