Java Esper规则语言:只有在条件满足一定时间段后才触发规则

Java Esper规则语言:只有在条件满足一定时间段后才触发规则,java,rule-engine,complex-event-processing,esper,Java,Rule Engine,Complex Event Processing,Esper,我想写一条规则,当心率超过160时触发5分钟。我提出的规则如下: EPAdministrator cepRule3 = cep.getEPAdministrator(); EPStatement cepStatementRule3 = cepRule3.createEPL("select * from " + "HeartRate.win:time(5 min) " + "group by macAddress "

我想写一条规则,当心率超过160时触发5分钟。我提出的规则如下:

 EPAdministrator cepRule3 = cep.getEPAdministrator();
        EPStatement cepStatementRule3 = cepRule3.createEPL("select * from "
                + "HeartRate.win:time(5 min) "
                + "group by macAddress "
                + "having min(heartrate) > 160");
        cepStatementRule3.addListener(new rule3Listener());
我的心率类别包含以下字段:

int heartrate;
String heartratesTimestamp;
String macAddress;
我面临的问题是,每当心率超过160时,这条规则就会生效。相反,我希望它只有在心率保持在160以上5分钟时才会启动。如何调整此规则?

EPL: 每隔(心率(心率>160)->(计时器:间隔(5分钟)和非心率(心率EPL:
every(心率>160)->(计时器:间隔(5分钟)和not HeartRate(心率)你能完整地写下这个吗,因为我不理解这个规则的语法。谢谢你,我现在有了以下规则:
“从模式中选择*[every(心率>160)->(计时器:间隔(5分钟)和not HeartRate(心率)您可以使用按mac地址分区的上下文,如下所示:从心率创建按mac地址分区的上下文分区BYMAC;从模式[every(心率(心率>160)->(计时器:间隔(5分钟),而不是心率(心率当我这样做并使用您建议的分区时,规则不再触发。我的规则现在是
cepRule3.createpl(“从心率创建上下文分区按mac分区按macAddress”,“上下文分区按mac选择*从模式[每(心率)(心率>160)->(计时器:间隔(5分钟)而不是心率(HeartRate从不介意发现我的问题。我应该创建两个独立的EPL语句。谢谢你,你能完整地写下这条语句吗,因为我不理解这个规则的语法。谢谢你,我现在有以下规则:
“从模式中选择*[每(HeartRate)(HeartRate>160)->(计时器:间隔(5分钟)而不是HeartRate(心率)您可以使用按mac地址分区的上下文,如下所示:从心率创建按mac地址分区的上下文分区BYMAC;从模式[every(心率(心率>160)->(计时器:间隔(5分钟),而不是心率(心率当我这样做并使用您建议的分区时,规则不再触发。我的规则现在是
cepRule3.createpl(“从心率创建上下文分区按mac分区按macAddress”,“上下文分区按mac选择*从模式[每(心率)(心率>160)->(计时器:间隔(5分钟)而不是心率(Heartrate没关系发现我的问题。我应该创建两个独立的EPL声明。谢谢