18.8. 悲観 (pessimistic) ロックのサポート

プロセスの永続性に関するデフォルトのロックメカニズムは、optimistic です。同一プロセスインスタンスにマルチスレッドの同時実行が行われると、このロック戦略はパフォーマンスに悪影響を与えます。

18.8.1. コードを使用した悲観ロックサポートの設定

プロセスごとにロックメカニズムを設定し、pessimistic にします。プロセスレベルだけでなく、KIE セッションレベルまたはランタイムマネージャーレベルごとに変更することができます。

プロセスが pessimistic ロックを使用するようにするには、ランタイム環境で以下の設定を使用します。

import org.kie.api.runtime.Environment;
import org.kie.api.runtime.EnvironmentName;
import org.kie.api.runtime.manager.RuntimeManager;
import org.kie.api.runtime.manager.RuntimeManagerFactory;

...

env.set(EnvironmentName.USE_PESSIMISTIC_LOCKING, true);  1

RuntimeManager manager = RuntimeManagerFactory.Factory.get().newPerRequestRuntimeManager(environment);  2
1
envorg.kie.api.runtime.Environment のインスタンスです。
2
この環境を使用してランタイムマネジャーを作成します。

18.8.2. Business Central での悲観ロックサポートの設定

Business Central では、プロセスの事前設定済みのロックをサポートします。Business Central で悲観ロックを使用するようにプロセスを設定するには、以下の手順を使用します。

前提条件

  • Business Central に十分なユーザー権限がある。
  • Business Central プロジェクトが作成されている。

手順

  1. Business Central で、MenuDesignProjects に移動します。
  2. プロジェクトを選択します。
  3. Settings タブをクリックしてプロジェクト設定にアクセスします。
  4. DeploymentEnvironment entries を開きます。
  5. 環境エントリーの追加 をクリックします。
  6. 環境エントリーを追加するには、以下の値を入力します。

    • Name: 環境名を入力します。
    • Value: 環境の値を入力します。
    • Resolver type: 要件に応じて MVEL、Reflection、または Spring リゾルバータイプを選択します。
    • parameters: パラメーターを追加します。
  7. Save をクリックし、再度 Save をクリックして変更を確定します。