0

我是 Drools 的新手,正在研究将 Drools Fusion CEP 用于我们的产品。我正在 karaf 2.4.3 中执行 Drools(以流模式)融合 6.0.2.Final。

我的 kmodule.xml

<kbase name="sampleKBase" packages="com.sample.heartbeat" eventProcessingMode="stream" default="true">  
    <ksession name="sampleKSession" type="stateful" default="true" clockType="realtime">
    </ksession>
</kbase>

我的规则:

package com.sample.heartbeat

import com.sample.droolsfusion.HeartBeat; 

declare HeartBeat  
     @role(event)  
     deviceId : int  
     currentCheckIntime : long  
end  

rule "Sound the alarm"  
when   
   $h: HeartBeat($deviceId : deviceId, $currentCheckIntime: currentCheckIntime) from entry-point "MonitoringStream"  
  not( HeartBeat( deviceId == $deviceId, currentCheckIntime > $currentCheckIntime , this after[0s,10s] $h ) from entry-point "MonitoringStream")  
then   
            // Sound the alarm
    System.out.println("Sound" + $h);  
end  

当我从 发送事件时BundleActivator,在缺少心跳事件 10 秒后不会触发事件

谁可以帮我这个事。

4

0 回答 0