Jboss 口水法则不正确,如何使用';和';?
我正在努力使以下各项正常工作:Jboss 口水法则不正确,如何使用';和';?,jboss,drools,rule-engine,rule,drools-planner,Jboss,Drools,Rule Engine,Rule,Drools Planner,我正在努力使以下各项正常工作: rule "userCount" when $user : User() $minutes : Integer() from accumulate( MinutesPerUser( user == $user, $time : time) and Time(this == $time),
rule "userCount"
when
$user : User()
$minutes : Integer()
from accumulate(
MinutesPerUser( user == $user, $time : time)
and Time(this == $time),
sum(1)
)
then
System.out.println( $minutes );
end
但是和时间(this==$user)
部分似乎永远都不是真的。如果我去掉那个部分,我会得到一些println输出
上面的代码有什么问题?由于不知道Java类之间的关系,所以很难陈述明确的事实。但是从
$user : User()
//...
and Time(this == $user),
很明显,时间必须是用户的超类,反之亦然:否则就无法满足此约束
我不知道你应该写什么,因为没有关于应该做什么的规范
顺便说一句,
sum(1)
看起来有点可疑,因为这可以通过count(1)
更好地表达出来,产生同样的结果。Argh,请原谅我,劳恩,我的代码有一个输入错误$时间就是我的生产代码中的时间,我只是在那里留下了一个“调试”输入错误:(现在我们需要一组事实——即,代码插入到工作内存中——这应该会产生一个匹配。你应该将此代码添加到你的Q。