0

私たちのチームは、評価に Drools ルールフローを使用しています。現在、代わりにデシジョン テーブルへの移行を計画しています。

Drools ルールフロー バージョンでは、DRL ファイルのコンテキスト内で作成されたオブジェクトをワーキング メモリから抽出するクエリ コンポーネントを含む DRL ファイルを使用していました。

デシジョンテーブルで同じことをすることに固執していますか? ルールの実行には StatefulSession を使用しています。また、これらのファクトはルールの RHS に挿入されます。発火時には FactHandles はありません。

Drools ルール エンジンのブートストラップに使用されるコードは次のとおりです。

RuleBase ruleBase = RuleBaseFactory.newRuleBase();
StatefulSession session = ruleBase.newStatefulSession(); 
MyFacts nmrs = new MyFacts();
session.insert(nmrs);
session.fireAllRules();

クエリの取得に使用される drools ファイルは次のようになります。

query "resultQuery"
    response :  Outcome()
end

ありがとう

4

1 に答える 1

0

現時点では、XLS デシジョン テーブルでのクエリは直接サポートされていません。ただし、デシジョン テーブルは drl 自体にコンパイルされます。そのため、プログラムによってクエリを後で drl に (おそらく別の DRL ファイルで) 追加することができます。

また、すべてのファクト ハンドルのコレクションを取得し、(醜い) インスタンスの Outcome などを探して反復することもできます...

于 2010-02-18T10:35:13.977 に答える