静的な drl ファイルを提供する代わりに Java で Drools ルールを動的に構築する方法は?
実行時に解析してリロードできるようにする必要がある xml で定義された一連の一致ルールがあります。Drools ルールを動的に構築する方法はありますか? ドキュメントで見つけられませんでした。
Romainのコメントに同意します-宣言形式のルールがある場合-それらのルールに暗黙の高次ロジックがない限り(私が見つけた可能性は低いです)、またはおそらく1つを実行したい場合を除き、そこから直接コードを生成できますXML からルール言語への時間の移行。
ルールは「静的」部分であるという以前の回答とコメントに同意します。ルールがオンデマンドで動的に作成される場合、ルール エンジンの使用法には問題があります。ただし、drools がすぐに処理できる形式/形式でルールが提供されていない場合があります。このような場合、初期化フェーズ中にプログラムでルールを作成する必要があります。
以上のことから、ルール (文字列として指定) を drools に追加する方法は次のとおりです。
public void addRule(String myRuleStatement, String myPackage, RuleBase myRuleBase ) {
PackageBuilder packageBuilder = new PackageBuilder(new Package(myPackage));
packageBuilder.addPackgeFromDrl( new StringReader( myRuleStatement ) );
myRuleBase.addPackage ( packageBuilder.getPackage() );
}