2011-12-30 8 views
0

最近、私はDroolsコンポーネントを使って作業しています。 私は非常に興味深いものを見つけました。 問題は、droolエンジンが「後」演算子を使用する条件を発生させないことです。 この状態が常に機能するとは限りません。エラーの場合は、外部イベントがすぐにシステムに来る必要があります。 来るイベントの間に10ミリ秒間タイマーを設定すると、すべてうまく動作します。 イベントがシステムに継続的に(タイマーなしで、以下のコードを参照してください)、時間ルールが発生しない場合は、詳細についてはDrools - "after"演算子のエラー

してくださいは、私のブログを赤:http://i-liger.com/article/problem-drools

私は任意のヘルプや提案のために非常に感謝するでしょう。 ありがとうございます!

+2

ブログに私たちを送信する代わりに、この質問に関連情報を投稿してください。 – gregwhitaker

答えて

0

評価者は、現在のイベントから相関するイベントまでの時間的距離がオペレータに対して宣言された距離範囲に属する場合、2つのイベントを相関させて一致させます。

after演算子の時間間隔は任意です。 2つの値が定義されている場合(下の例のように)、間隔は最初の値から開始し、2番目の値で終了します。 値が1つだけ定義されている場合、間隔は値から始まり、正の無限大で終了します。 値が定義されていない場合、初期値は1ms、最終値は正の無限大とみなされます。

解決方法:「変更後」 - 「0ms後」に変更

0

まあ、あなたは正しいことをしていないように見えます。私はあなたのルールを見て、あるイベントが他のイベントを後にしているかどうかをチェックしていますが、droolsはあなたが書いたすべてのルール。これらのルールを追加するアプリケーションのステータスをチェックすることは、メンテナンスできません。イベントとDroolsで何を達成しようとしているのか正確に指定してください。ソリューションの設計にお役立てください。 歓声

関連する問題