2013-08-29 50 views
1

我使用Jess的規則引擎與Java和我有一個事實模板人。我違反有關人員的規則,我想得到事實數量滿足規則,並使其火災。這可能嗎; egCommand engine.executeCommand(「(run)」)在規則觸發的情況下僅返回0或1Jess有關事實和規則的問題

回答

0

取決於您確切需要什麼,您可能需要做幾件事情。函數(run)實際上返回了觸發規則的數量,所以如果每個事實激活一個規則,那麼返回值(run)就會這樣做。

如果您需要做更復雜的事情,那麼您可以註冊一個JessEventListener,以在每個規則觸發時得到通知。 JessEvent將包含該規則的整個激活記錄,因此您可以瀏覽它並根據自己的喜好來計算事實。由於規則可以匹配事實的不存在或存在至少一個符合模式等的事實,因此「有多少事實激活規則」這個問題並不是完全簡單的。但是隨着手中的激活記錄,您可以根據自己的喜好來計數。

+0

謝謝mr Hill先生,我用(運行)解決了這個問題,稍微修改了一下我的java代碼。 – sakias