3.5. KIE スキャナーを使用した KIE コンテナーの監視および更新


Red Hat Decision Manager の KIE スキャナーは、Red Hat Decision Manager プロジェクトに新しい SNAPSHOT バージョンがないか、Maven リポジトリーを監視して、指定の KIE コンテナーにプロジェクトの最新バージョンをデプロイします。開発環境に KIE スキャナーを使用して、新規バージョンが利用できるようになった時に、Red Hat Decision Manager プロジェクトのデプロイメントをより効率的に管理できます。

重要

実稼働環境では、誤ってまたは予期せずにプロジェクトが更新されてしまわないように、SNAPSHOT のプロジェクトバージョンで、KIE スキャナーを使用しないでください。KIE スキャナーは、SNAPSHOT プロジェクトバージョンを使用する開発環境向けに設計されています。

前提条件

  • Red Hat Decision Manager プロジェクトのクラスパスに kie-ci.jar ファイルが利用できるようになっている。

手順

  1. プロジェクト内の、該当する .java クラスで、以下のコード例のように、KIE スキャナーを登録して起動します。

    KIE コンテナー向けの KIE スキャナーの登録および起動

    import org.kie.api.KieServices;
    import org.kie.api.builder.ReleaseId;
    import org.kie.api.runtime.KieContainer;
    import org.kie.api.builder.KieScanner;
    
    ...
    
    KieServices kieServices = KieServices.Factory.get();
    ReleaseId releaseId = kieServices
      .newReleaseId("com.sample", "my-app", "1.0-SNAPSHOT");
    KieContainer kContainer = kieServices.newKieContainer(releaseId);
    KieScanner kScanner = kieServices.newKieScanner(kContainer);
    
    // Start KIE scanner for polling the Maven repository every 10 seconds (10000 ms)
    kScanner.start(10000L);
    Copy to Clipboard Toggle word wrap

    この例では、KIE スキャナーは一定の間隔で実行されるように設定しています。KIE スキャナーの最小のポーリング間隔は 1 ミリ秒 (ms) で、最大のポーリング間隔はデータ型 long の最大値です。ポーリングの間隔が 0 以下の場合は、java.lang.IllegalArgumentException: pollingInterval must be positive エラーが発生します。また、KIE スキャナーを scanNow() メソッドで呼び出してオンデマンドで実行するように設定することも可能です。

    この例のプロジェクトグループ ID、アーティファクト ID、およびバージョン (GAV) の設定は、com.sample:my-app:1.0-SNAPSHOT で設定されています。プロジェクトバージョンには、-SNAPSHOT の接尾辞を含めて、KIE スキャナーが指定のアーティファクトバージョンの最新ビルドを取得できるようにする必要があります。1.0.1-SNAPSHOT への更新など、スナップショットのプロジェクトバージョン番号を変更する場合は、KIE スキャナー設定の GAV 定義のバージョンも更新する必要があります。KIE スキャナーは、com.sample:my-app:1.0 など、静的バージョンのプロジェクトの更新を取得しません。

  2. Maven リポジトリーの settings.xml ファイルで、updatePolicy 設定を always に指定し、KIE スキャナーが正しく機能するようにします。

    <profile>
      <id>guvnor-m2-repo</id>
      <repositories>
        <repository>
          <id>guvnor-m2-repo</id>
          <name>BA Repository</name>
          <url>http://localhost:8080/business-central/maven2/</url>
          <layout>default</layout>
          <releases>
            <enabled>true</enabled>
            <updatePolicy>always</updatePolicy>
          </releases>
          <snapshots>
            <enabled>true</enabled>
            <updatePolicy>always</updatePolicy>
          </snapshots>
        </repository>
      </repositories>
    </profile>
    Copy to Clipboard Toggle word wrap

    KIE スキャナーがポーリングを開始した後に、KIE スキャナーが指定の KIE コンテナーで SNAPSHOT プロジェクトの更新バージョンを検出した場合に、KIE スキャナーは自動的に新しいプロジェクトバージョンをダウンロードして、新規プロジェクトのインクリメンタルビルドをトリガーします。この時点以降、KIE コンテナーから作成された新規の KieBase オブジェクトおよび KieSession オブジェクトで、新規プロジェクトバージョンが使用されるようになります。

    KIE Server API を使用して KIE スキャナーを開始または停止する方法は、KIE API を使った Red Hat Decision Manager の操作 を参照してください。

トップに戻る
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。 最新の更新を見る.

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

Theme

© 2025 Red Hat