デシジョン・コンポーネントのステートフル操作に関する必知事項
ビジネス・ルール・サービス・エンジンで実行されるデシジョン・コンポーネントは、ステートフルまたはステートレス操作をサポートしています。これら2つの操作モードの切替えは、「ビジネス・ルールの作成」ダイアログの「セッションのリセット」チェック・ボックスで提供されています。
デフォルトでは、「セッションのリセット」チェック・ボックスが選択されており、これはステートレス操作を示します。ステートレス操作とは、実行時にデシジョン・コンポーネントが起動した後、ルール・セッションがリリースされることを意味します。
「セッションのリセット」チェック・ボックスの選択が解除されている場合は、基礎となるOracle Business Rulesオブジェクトが独立した場所にあるビジネス・ルール・サービス・エンジンのメモリーに保持されます(したがって、オブジェクトは操作終了時にルール・セッション・プールに返されません)。その後のデシジョン・コンポーネントの使用では、callFunctionStateful
の起動以降にキャッシュされたすべてのRuleSessionオブジェクトとその状態の情報が再利用され、callFunctionStateless
操作の終了後にルール・セッション・プールにリリースされて戻されます。したがって、「セッションのリセット」の選択が解除されている場合は、後続リクエストのためにルール・セッションが保存され、同じBPELプロセスからの一連のデシジョン・サービスの起動が常にステートレス起動で終了する必要があります。