第12章 Apache Karaf 上に Fuse を統合した Red Hat Decision Manager のデシジョンエンジン

Apache Karaf は、スタンドアロンで、オープンソースのランタイム環境です。OSGi Alliance の OSGi 標準に基づいています。Karaf は、高度なクラ出力ディングサポートを備えた OSGi バンドルを通じてモジュール化のサポートを提供します。Karaf コンテナーでは、依存関係の複数のバージョンを並行してデプロイできます。ホットコードスワップを使用すると、コンテナーをシャットダウンせずにモジュールをアップグレードまたは置き換えることができます。

Red Hat Decision Manager は、Karaf 機能を使用して、Karaf で FUSE と統合されます。これらの機能を使用して、Karaf 上の FUSE 向けに Red Hat Decision Manager の個別のコンポーネントをインストールできます。

機能ファイルは XML ファイルで、このファイルを使用して特定の機能向けにどの DOSGI バンドルをインストールするかを指定します。以下の機能 XML ファイルにより、Red Hat Decision Manager と Fuse on Karaf の統合を容易にします。

  • rhba-features-<FUSE-VERSION>-features.xml

    このファイルは、Karaf にインストールした Fuse に含まれており、<FUSE-VERSION> は Fuse のバージョンに置き換えます。このファイルは、system/org/jboss/fuse/features/rhba-features ディレクトリーの Karaf システムリポジトリーに保存されます。このファイルには、Red Hat Decision Manager 機能をインストールするための前提条件が含まれています。

  • kie-karaf-features-7.52.0.Final-redhat-00007-features-fuse.xml

    このファイルは Red Hat Decision Manager に含まれており、Red Hat Decision Manager 機能を提供します。この機能により、Red Hat Fuse にデプロイできる OSGi 機能が決まります。OSGi ユーザーは、このファイルから機能をインストールして、Red Hat Decision 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 Decision Manager 機能 XML ファイルの削除

お使いの環境に、以前の Red Hat Decision Manager 機能 XML ファイル (例: kie-karaf-features-<VERSION>-features.xml) が含まれている場合には、このファイルと関連するファイルすべてを削除してから、最新の機能 XML ファイルをインストールする必要があります。

前提条件

  • 以前の機能 XML ファイルが Apache Karaf の環境に存在する。

手順

  1. 以下のコマンドを実行して、使用環境に以前の Red Hat Decision Manager 機能 XML ファイルが含まれているかどうかを確認します。

    $ JBossFuse:karaf@root> feature:repo-list
    $ JBossFuse:karaf@root> feature:list
  2. 以下のコマンドを入力します。<FUSE_HOME> は Fuse のインストールディレクトリーに置き換えて、Red Hat Fuse コンソールを起動します。

    $ ./<FUSE_HOME>/bin/fuse
  3. 以下のコマンドを入力します。<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
  4. Karaf の home で、droolskie、または 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
  5. 以下のコマンドを入力します。BUNDLE_ID は、検索で返されたバンドル ID に置き換えて、以前の手順で検出されたバンドルを削除します。

    karaf@root> osgi:uninstall BUNDLE_ID
  6. 次のコマンドを入力して、古くなった drools-karaf-features の URL を削除します。

    karaf@root> features:removeurl
     mvn:org.kie/kie-karaf-features/VERSION.Final-redhat-VERSION/xml/features
  7. Fuse を再起動します。