有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

JavaJBossDrools从DRL插入事实

我需要我的工作记忆来了解DRL中创建的事实,如下所示:

rule "Your First Rule"
when
    $testRule : TestRule(count >= 100)
then 
    System.out.println("100 PACKETS");
end

有没有一种方法可以让WorkingMemory知道TestRule事实,然后能够被更新?我的目标是让规则知道何时收到100个数据包


共 (1) 个答案

  1. # 1 楼答案

    通常我创建一些东西作为规则的一部分,并将其用作标志。例如,如果不需要创建任何内容,则可以创建一个标志

    rule "Your First Rule"
    when
        $testRule : TestRule(count >= 100)
        not         Flag(id="packets")
    then 
        System.out.println("100 PACKETS");
        insert( new Flag("packets") )
        update( $testRule )
    end
    

    我不认为这个代码是正确的,但我认为你可以得到这个想法。。。您需要创建一个名为Flag的类。更新需要告诉drools必须更新rete树