私は動的にルールを更新するための要件に取り組んでいます。 1時間に1回DBからルールを選ぶスケジューラがあります。要件は、DBから読み取られた新しい一連のルールで以前ロードされたルールを完全に破棄することです。動的にルールを更新するDrools
現在、私はファイルシステムを初期化しており、スケジューラが毎回ルールを読み取るたびに再初期化されます。
private KieServices kieServices = KieServices.Factory.get();
private KieFileSystem kieFileSystem = kieServices.newKieFileSystem();
public reinitialize() {
kieServices = KieServices.Factory.get();
kieFileSystem = kieServices.newKieFileSystem();
}
しかし、これが良いアプローチであるかどうかはわかりません。 Droolsのドキュメントから読んだのは、ルールがPOMファイルを持つライブラリとして書かれていることです。私は、このアプローチがメモリファイルシステムの多くで終わるのかどうか分かりませんし、最終システムでは非常に遅くなります。
誰かが古いルールを新しいルールで動的に置き換える正しい方法を提案できますか?