DROOLS:规则事件

时间:2014-11-28 14:46:30

标签: drools

我的问题是:

在Drools规则中,有一种方法可以拦截“成功”事件吗? 为了更好地解释......当一个规则的所有条件都为真时,有一种方法可以调用一个监听器吗?

注意: 我不想设置一个全局对象(在会话中)来管理规则的“then”子句中的这个条件。

我正在寻找已经在Drools上实施的解决方案

规则样本

when
    $p : Person(name == "James")  
then
      // implicit callback to the listener managed by drools

1 个答案:

答案 0 :(得分:0)

org.kie.api.event.rule包中,有BeforeMatchFiredEventAfterMatchFiredEvent。使用方法AgendaEventListener和/或void afterMatchFired(AfterMatchFiredEvent event)实现接口void beforeMatchFired(BeforeMatchFiredEvent event)

您可以通过评估使用event参数传递的数据来了解被触发的规则和参与的事实。