0

我有一套每 15 秒触发一次的规则。

因为我想对这些规则进行单元测试,所以我想动态设置这个持续时间值。更多,我想把它放在我的应用程序的配置中。该值可能用于超过 20 条规则...)。

我怎样才能做到这一点 ?是否可以 ?

这是我的规则:

规则“我的规则名称”
持续时间 15000
什么时候
    //匹配一些东西
然后
    //做点什么
结尾

我想要类似的东西:

全局字符串时间持续时间;

规则“我的规则名称”
持续时间持续时间
什么时候
    //匹配一些东西
然后
    //做点什么
结尾

我试过: - 从我的单元测试中放置一个长的全局变量集 - 从我的单元测试中放置一个包含“15s”的字符串全局变量集 - 导入一个包含静态字段的类并放置

导入 my.temp.package.RemoveThisUglyClass;
规则“我的规则名称”
持续时间 RemoveThisUglyClass.timeDuration
什么时候
    //匹配一些东西
然后
    //做点什么
结尾

似乎没有办法做到这一点。人工智能对吗?有什么建议吗?

谢谢!

4

1 回答 1

2

rule 属性已duration被弃用了一段时间。您可以使用timer

rule "tock"
timer( expr: $d )
when
    A($d: duration )
then
    //...
end

这会在持续时间的毫秒数后触发,但您也可以使用包含诸如“3s”之类的时间的字符串字段。请参阅文档。

于 2014-06-13T18:31:00.673 回答