現在、Drools 5.0 を使用してアプリケーションを作成しています。このアプリケーションの実行は少し遅いようですが、その理由については理論があります。このアプリケーションは、ナレッジ セッションに既に格納されているファクトの多くの更新を受け取ります。内部の Drools 更新機能は、実際には撤回を行ってから挿入を行います。このアプリケーションには 200 以上のルールがあります。一部のルールは、特定の事実が削除されたときに実行されるように記述されています。他のルールは、特定の事実がナレッジ セッションにアサートされたときに実行されるように記述されています。更新は実際に撤回を行い、次に挿入を行うため、更新中に撤回と挿入に関連するルールが引き続き実行されますか? ナレッジ セッションから実際に「挿入」または撤回されているものは何もないのに?
注意すべきことの 1 つは、WorkingMemoryFileLogger をナレッジ セッションに「接続」して、何が起こっているかをよりよく理解できるようにすることです。その時、予定外の撤回/挿入ルールのアクティブ化の作成が議題に追加されているのを見ましたが、アクティブ化されることはないようです. 事実の更新は、特に事実モデルに基づいて費用がかかる可能性があるように思えますが、控えめに使用する必要があります。これは正しいです?