首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 服务器 > 其他服务器 >

drools 5里面怎么实现动态fact

2012-08-25 
drools 5里面如何实现动态fact最近在研究drools 5,它的文档里面有写可以通过动态fact的方式实现让规则引擎

drools 5里面如何实现动态fact
最近在研究drools 5,它的文档里面有写可以通过动态fact的方式实现让规则引擎自动获得fact的变化

// By setting dynamic to TRUE, Drools will use JavaBean
// PropertyChangeListeners so you don't have to call modify or update().
final boolean dynamic = true;

session.insert( fact, dynamic );

但是实际写代码的时候发现,目前提供的insert函数根本没有第二个boolean的参数,而只有一个Object的参数,网上找了一下,大部分都是这样写的,版本都是drools 4。在drools 5里面将这个特性取消了吗?在drools 5里面要如何实现动态fact呢?

请熟悉drools的朋友帮忙解答,谢谢!

[解决办法]
只有在 StatefulSession 里面才有这个方法。而 StatefulKnowledgeSession里面没有。

for (Iterator workingMemories = 
statefulKnowledgeSession.getWorkingMemoryEntryPoints().iterator();
workingMemories.hasNext();) {

WorkingMemoryEntryPoint entryPoint = 
(WorkingMemoryEntryPoint) workingMemories.next();

System.out.println(entryPoint.getEntryPointId());

entryPoint.insert(message, true); // 这里面。

}

热点排行