Drools Fusion乱序事件

时间:2017-09-19 11:08:15

标签: drools drools-fusion drools-kie-server

我正在使用Drools融合来处理实时事件。每个事件都有一个时间戳字段。 问题是事件有时会出现故障。 drools融合可以处理这种情况,如果是的话怎么样?

由于

1 个答案:

答案 0 :(得分:0)

如果A标记为0:00:00且B标记为0:01:00且B到达并且您有规则

rule "A before B"
when
    $b: B()
    not A( this before $b )
then ... end

它会开火。

您可以将事实插入时间用作时间戳。

将原始时间戳保留为属性。如果一个"情况"也许你会想看看它。发生。这取决于。

添加如果您有最大延迟dt,您可以将所有到达的事件放入"隔离"因为这个延迟。在插入A之前,检查所有其他流(源)以查找A之前的事件B并做出相应的反应。一切都会至少延迟dt做出反应。