Esper中的事件处理终止

时间:2017-05-03 14:25:26

标签: esper

给定insert-into语句链,例如:

on GenericEvent insert into rule_A_stream select *;

on rule_A_stream 
insert into rule_B_stream select * where condition1
insert into rule_C_stream select * where condition2;

on rule_B_stream 
insert into rule_D_stream select * where condition3
insert into rule_E_stream select * where condition4;

on rule_E_stream 
insert into rule_F_stream select * where condition4
insert into rule_G_stream select * where condition5;
  • 一旦达到rule_E_stream,我们如何立即终止事件处理并返回结果? (终止意味着停止事件传播,因此不应该调用以下语句)

  • 是否可以在Subscriber / Listener端停止处理?

  • 考虑使用带有“终止于”事件的上下文:
create context Ctx initiated by InitEvent terminated by TerminateEvent
  • 我想知道它适用于我们的情况吗?

1 个答案:

答案 0 :(得分:0)

@Drop注释(又名优先执行)终止。一个例子是:

@Drop @Priority(1) select * from rule_E_stream(drop_conditions_here_if_any)

@Priority(0) on rule_E_Stream ....

一般来说,听众不会在Esper中停止。但是听众可以通过他们自己的过滤器或转换来重新插入(也称为路由)事件。

相关问题