Drools 3.1M是不是有bug啊?

阅读更多
快要郁闷死了。简直求助都找不到地方。唉!悔不该涉入这样一个研究的人少资料又不多的领域。可是现在也没有退路了。

两个问题:
1、规则文件是一样的。可是以下代码:
for (;;) {
	checkServer(server);

	final FactHandle obj = mem.assertObject(server);
	mem.fireAllRules();
	logger.writeToDisk();
	Thread.sleep(1000);
	mem.retractObject(obj);
}

在Drools3.06中完全可以执行,没有任何问题。可是到了3.1M中,第一次到“mem.retractObject(obj);”处就退出,提示"NullPointerException"。晕倒!找了n久也不知道为什么???

2、drl文件中的函数:
function void computeUsage(Server server, ComputeUsage usage) {
	//double use;
	//usage = (avail/sum)*100;
	//use = avail*100;
	System.out.println("The usage rate of the server ["+server.getHost()+"] is {1"+(usage.getAvail()/usage.getSum())+"}\n");

}

我在rhs中用computeUsage(server,usage)[server和usage都是lhs中绑定的的变量]调用它,它就一直说:
引用
Rule Compilation error The method computeUsage(Server, ComputeUsage) in the type ComputeUsage is not applicable for the arguments (Server, ComputeUsage)

这个错误在3.06和3.1M中都存在。function不是这样定义的么?应该怎么用啊?

真是服了这个东东了

你可能感兴趣的:(thread)