我正在使用Drools融合来处理实时事件。每个事件都有一个时间戳字段。问题是事件有时可能会失序。drools fusion可以处理这种情况吗?如果可以,如何处理?
谢谢
发布于 2017-09-19 19:28:59
如果A标记为0:00:00,B标记为0:01:00,B到达,则规则为
rule "A before B"
when
$b: B()
not A( this before $b )
then ... end它会发射的。
您可以使用事实插入时间作为时间戳。
保留原始时间戳作为属性。如果“情况”发生了,也许你会想要看看它。那得看情况。
all 如果您有一个最大延迟dt,您可以将所有到达的事件放入此延迟的“隔离”中。在插入A之前,请检查A之前的事件B的所有其他流(源),并做出相应的反应。一切都会做出反应,至少会延迟dt。
https://stackoverflow.com/questions/46298874
复制相似问题