是否可以一起使用突出和计时器?

时间:2015-02-22 18:50:04

标签: drools drools-fusion

规则B应该在A之前触发吗?因为它对我不起作用。

rule A
        salience 0
        timer(int: 20s)
    when
...

rule B
        salience 1
        timer(int: 20s)
    when
...

编辑:
两者的条件相等,因为两者都应该在同一事件上被触发,并且为了清楚而省略了条件。关键是我希望在20秒超时后触发规则,并使它们有序可能吗?。

1 个答案:

答案 0 :(得分:1)

一旦条件评估为true,就会安排带有计时器的规则执行。您还没有显示A和B的条件,因此无法进行进一步的分析。两个定时器很可能不是在同一时间点启动,因此可以命令到期时间A< B.如果在A之前需要B,则运行B的计时器。添加一个条件元素,让A在没有计时器的情况下触发,并让B的结果插入事实 满足这个条件元素。大致是:

rule B
timer(int: 20s)
when...
then
    insert( new TriggerForA() )
end

rule A
when
    $t: TriggerForA()
    ...
then
    delete( $t );
end