开发者

JBoss Drools insert facts from DRL

开发者 https://www.devze.com 2023-02-10 19:17 出处:网络
I need my WorkingMemory to be aware of facts which are created in the DRL as follows: rule \"Your First Rule\"

I need my WorkingMemory to be aware of facts which are created in the DRL as follows:

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

Is there a way of getting the WorkingMemory to become aware of the TestRule fact and then be able to be updated? My objective is to开发者_Python百科 get the rule to know when 100 packets have been received.


usually I create something as part of a rule and use it as a flag. If you don't need to create anything, then you can create a flag, for example

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

I don't think this code is correct, but I think you can get the idea... And you'll need to create a class called Flag. The update is needed to tell drools that is has to update the rete tree.

0

精彩评论

暂无评论...
验证码 换一张
取 消