Drools fusion を使用して、コンピューターの cpu_idle に対して何らかのアラームを実行したいと考えています。条件は次のとおりです。
監視したマシンから 10 秒ごとに記録を受け取ります。
cpu_idle<10 の場合、drools はおそらく 10mim の時間ウィンドウを開き、条件 cpu_idle<10 が発生した回数のカウントを開始する必要があります。変数は occur_times です。
- 10 分後、よだれが発生時間を確認します。
これを行う方法がわかりません。私は drools 6.1 を使用しています。以下はメイン コードです:</p>
public static void main(String[] args) {
KnowledgeBuilder kbuilder = KnowledgeBuilderFactory.newKnowledgeBuilder();
kbuilder.add( ResourceFactory.newByteArrayResource(str.getBytes()),
ResourceType.DRL );
InternalKnowledgeBase kbase = (InternalKnowledgeBase) KnowledgeBaseFactory.newKnowledgeBase();
kbase.addKnowledgePackages( kbuilder.getKnowledgePackages() );
StatefulKnowledgeSession ksession = kbase.newStatefulKnowledgeSession();
EntryPoint atmStream = ksession.getEntryPoint("ATM Stream" );
ksession.fireAllRules();
}
次のようなレコード Bean があります。
public class Record {
private double cpu_idle;
private Timestamp collecte_time;
public double getCpu_idle() {
return cpu_idle;
}
public void setCpu_idle(double cpu_idle) {
this.cpu_idle = cpu_idle;
}
public Timestamp getCollecte_time() {
return collecte_time;
}
public void setCollecte_time(Timestamp collecte_time) {
this.collecte_time = collecte_time;
}
}