Drools-debugging
Drools-デバッグ
Droolsプロジェクトをデバッグするにはさまざまな方法があります。 ここでは、Utilityクラスを記述して、どのルールがトリガーまたは実行されているかを知らせます。
このアプローチを使用すると、Droolsプロジェクトですべてのルールがトリガーされていることを確認できます。 こちらがユーティリティクラスです
Utility.java
最初のメソッド help は、DRLファイルを介してStringとして渡すことができるいくつかの追加情報とともに、トリガーされたルールを出力します。
2番目のルール helper は、特定のルールがトリガーされたかどうかを出力します。
各DRLファイルにユーティリティメソッドの1つを追加しました。 また、DRLファイル(Pune.drl)にインポート機能を追加しました。 ルールの then 部分に、ユーティリティ関数呼び出しを追加しました。 変更されたPune.drlを以下に示します。 変更は青で強調表示されます。
変更されたPune.drl
同様に、2番目のDRLファイル(Nagpur.drl)に他のユーティリティ関数を追加しました。 変更されたコードは次のとおりです-
変更されたNagpur.drl
プログラムを再度実行すると、次の出力が生成されます-
両方のユーティリティ関数が呼び出され、特定のルールが呼び出されたかどうかが示されます。 上記の例では、すべてのルールが呼び出されていますが、エンタープライズアプリケーションでは、このユーティリティ関数はデバッグして特定のルールが実行されたかどうかを確認するのに非常に役立ちます。
Eclipseでのデバッグパースペクティブの使用
Droolsアプリケーションの実行中にルールをデバッグできます。 ルールの結果にブレークポイントを追加できます。ルールの実行中にそのようなブレークポイントに遭遇すると、実行は一時的に停止されます。 その後、Javaアプリケーションで行うように、その時点で既知の変数を検査し、Eclipseで利用可能な通常のデバッグオプションを使用できます。
DRLファイルにブレークポイントを作成するには、ブレークポイントを作成する行をダブルクリックします。 ルールの then 部分にのみブレークポイントを作成できることに注意してください。 DRLエディターでブレークポイントをダブルクリックすると、ブレークポイントを削除できます。
ブレークポイントを適用した後、アプリケーションをDroolsアプリケーションとしてデバッグする必要があります。 Droolsブレークポイント(DRLファイルのブレークポイント)は、アプリケーションがDroolsアプリケーションとしてデバッグされている場合にのみ機能します。 ここにあなたが同じことをする方法があります-
Droolsアプリケーションとしてアプリケーションをデバッグすると、次のスクリーンショットに示すように、DRLファイルのコントロールが表示されます-
そのデバッグポイントで、オブジェクトの変数と現在の値を確認できます。 次の行に移動するF6と次のデバッグポイントにジャンプするF8の同じ制御もここで適用できます。 このようにして、Droolsアプリケーションをデバッグできます。
注-Droolsアプリケーションのデバッグパースペクティブは、Drools 5.xまでダイアレクトがMVELの場合にのみ機能します。