第12章 Apache Karaf 上に Fuse を統合した Red Hat Process Automation Manager のデシジョンエンジンおよびプロセスエンジン
Apache Karaf は、スタンドアロンで、オープンソースのランタイム環境です。OSGi Alliance の OSGi 標準に基づいています。Karaf は、高度なクラ出力ディングサポートを備えた OSGi バンドルを通じてモジュール化のサポートを提供します。Karaf コンテナーでは、依存関係の複数のバージョンを並行してデプロイできます。ホットコードスワップを使用すると、コンテナーをシャットダウンせずにモジュールをアップグレードまたは置き換えることができます。
Red Hat Process Automation Manager は、Karaf 機能を使用して、Karaf で FUSE と統合されます。これらの機能を使用して、Karaf 上の FUSE 向けに Red Hat Process Automation Manager の個別のコンポーネントをインストールできます。
機能ファイルは XML ファイルで、このファイルを使用して特定の機能向けにどの DOSGI バンドルをインストールするかを指定します。以下の機能 XML ファイルにより、Karaf 上の Fuse と Red Hat Process Automation Manager の統合を容易にします。
rhba-features-<FUSE-VERSION>-features.xml
このファイルは、Karaf にインストールした Fuse に含まれており、
<FUSE-VERSION>
は Fuse のバージョンに置き換えます。このファイルは、system/org/jboss/fuse/features/rhba-features
ディレクトリーの Karaf システムリポジトリーに保存されます。このファイルには、Red Hat Process Automation Manager 機能をインストールする前提条件が記載されています。kie-karaf-features-7.52.0.Final-redhat-00007-features-fuse.xml
このファイルは Red Hat Process Automation Manager に含まれており、Red Hat Process Automation Manager 機能を提供します。この機能により、Red Hat Fuse にデプロイできる OSGi 機能が決まります。OSGi ユーザーは、このファイルから機能をインストールして、Red Hat Process Automation Manager を Fuse にインストールし、アプリケーションで使用できます。この機能ファイルは、Red Hat Process Automation Manager で配布されるオンラインおよびオフラインの Maven リポジトリーに配置されています。このファイルのグループ ID、アーティファクト ID、およびバージョン (GAV) 識別子は、
org.kie:kie-karaf-features:7.52.0.Final-redhat-00007
です。
12.1. Karaf 上の古くなった Red Hat Process Automation Manager 機能 XML ファイルのアンインストール
お使いの環境に、以前の Red Hat Process Automation Manager 機能の XML ファイル (例: kie-karaf-features-<VERSION>-features.xml
) が含まれている場合は、このファイルと関連するファイルをすべて削除してから、最新の機能の XML ファイルをインストールする必要があります。
前提条件
- 以前の機能 XML ファイルが Apache Karaf の環境に存在する。
手順
以下のコマンドを実行して、使用環境に以前の Red Hat Process Automation Manager 機能の XML ファイルが含まれているかどうかを確認します。
$ JBossFuse:karaf@root> feature:repo-list $ JBossFuse:karaf@root> feature:list
以下のコマンドを入力します。
<FUSE_HOME>
は Fuse のインストールディレクトリーに置き換えて、Red Hat Fuse コンソールを起動します。$ ./<FUSE_HOME>/bin/fuse
以下のコマンドを入力します。
<FEATURE_NAME>
は、アンインストールする機能の名前に置き換えて、以前の機能 XML ファイルを使用するアプリケーションまたは機能をアンインストールします。JBossFuse:karaf@root> features:uninstall <FEATURE_NAME>
以下の例では、機能の削除方法を紹介します。
JBossFuse:karaf@root> features:uninstall drools-module JBossFuse:karaf@root> features:uninstall jbpm JBossFuse:karaf@root> features:uninstall kie-ci
Karaf の home で、
drools
、kie
、またはjbpm
を使用するバンドルへの参照を検索します。以下の例では、grep
を使用してこれらのコンポーネントを検索する方法を示しています。karaf@root> list -t 0 -s | grep drools karaf@root> list -t 0 -s | grep kie karaf@root> list -t 0 -s | grep jbpm
この例は、上記のコマンドからの出力です。
250 │ Active │ 80 │ 7.19.0.201902201522 │ org.drools.canonical-model 251 │ Active │ 80 │ 7.19.0.201902201522 │ org.drools.cdi 252 │ Active │ 80 │ 7.19.0.201902201522 │ org.drools.compiler
以下のコマンドを入力します。
BUNDLE_ID
は、検索で返されたバンドル ID に置き換えて、以前の手順で検出されたバンドルを削除します。karaf@root> osgi:uninstall BUNDLE_ID
次のコマンドを入力して、古くなった
drools-karaf-features
の URL を削除します。karaf@root> features:removeurl mvn:org.kie/kie-karaf-features/VERSION.Final-redhat-VERSION/xml/features
- Fuse を再起動します。