- 浏览: 13607 次
- 性别:
- 来自: 济南
最新评论
-
dada:
Audion 写道
非常感谢dada费心解决。这个解决方案目 ...
Drools中多嵌套对象的处理 -
Audion:
Godlikeme 写道埃,要在lhs写这么复杂的东西。
这 ...
Drools中多嵌套对象的处理 -
Godlikeme:
埃,要在lhs写这么复杂的东西。
Drools中多嵌套对象的处理 -
Audion:
dada 写道POJO
#created on: 200 ...
Drools中多嵌套对象的处理 -
dada:
POJO
public class Member {
...
Drools中多嵌套对象的处理
文章列表
原来的文章就曾经提到过,在drools中,域约束好像只能适用于对象的简单类型域,复杂对象类型的是不能用域限定方式来做的。如:
rule "WEEKDAY_BALANCE"
salience 0
when
$customer : Customer( $card : card )
$scard : $card( discount == 0.9 )
then
System.out.println("...");
end
其中,card域就是一个“ ...
快要郁闷死了。简直求助都找不到地方。唉!悔不该涉入这样一个研究的人少资料又不多的领域。可是现在也没有退路了。
两个问题:
1、规则文件是一样的。可是以下代码:
for (;;) {
checkServer(server);
final FactHandle obj = mem.assertObject(server);
mem.fireAllRules();
logger.writeToDisk();
Thread.sleep(1000);
mem.retractObject(obj);
}
在Drools3.06中完全可以执行,没有任何问题。可是到了3.1 ...
做了个小实验:想周期性的去Ping一个服务器,然后计算服务器可用率,比方说两次中ping通了一次,可用率就是0.5。但这需要在drl文件中针对不同情况(on/off)对变量进行设置,并且保证在每次ping的过程中变量值可以累积。这怎么做呀??
我想这样的:在调用的主程序中assert一个含有俩变量的类对象,
ComputeUsage usage = new ComputeUsage();
mem.assertObject(usage);
然后在drl中声明它为global
global ComputeUsage usage
在对应的rule中设置usage的值,
rule ...