Drools规则语言中各种宏函数用法简介.docVIP

Drools规则语言中各种宏函数用法简介.doc

  1. 1、本文档共10页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Drools规则语言中各种宏函数用法简介Drools规则语言中各种宏函数用法简介Drools规则语言中各种宏函数用法简介

Drools规则语言中各种宏函数用法简介 在 Drools 当中,在RHS 里面,提供了一些对当前Working Memory 实现快速操作的宏函数或对象,比如insert/insertLogical、update 和retract 就可以实现对当前Working Memory中的Fact 对象进行新增、删除或者是修改;如果您觉得还要使用Drools 当中提供的其它方法,那么您还可以使用另一外宏对象drools,通过该对象可以使用更多的操作当前WorkingMemory 的方法;同时Drools 还提供了一个名为kcontext 的宏对象,使我们可以通过该对象直接访问当前Working Memory 的KnowledgeRuntime。 insert 函数insert 的作用与我们在Java 类当中调用StatefulKnowledgeSession 对象的insert 方法的作用相同,都是用来将一个Fact 对象插入到当前的Working Memory 当中。它的基本用法格式如下: insert(new Object()); 一旦调用insert 宏函数,那么Drools 会重新与所有的规则再重新匹配一次,对于没有设置no-loop 属性为true 的规则,如果条件满足,不管其之前是否执行过都会再执行一次,这个特性不仅存在于insert 宏函数上,后面介绍的update、retract 宏函数同样具有该特性,所以在某些情况下因考虑不周调用insert、update 或retract 容易发生死循环。 insertLogical insertLogical 作用与insert 类似,它的作用也是将一个Fact 对象插入到当前的WorkingMemroy 当中。 update update 函数意义与其名称一样,用来实现对当前Working Memory 当中的Fact 进行更新,update 宏函数的作用与StatefulSession 对象的update 方法的作用基本相同,都是用来告诉当前的Working Memory 该Fact 对象已经发生了变化。它的用法有两种形式,一种是直接更新一个Fact 对象,另一种为通过指定FactHandle 来更新与指定FactHandle 对应的Fact 对象。 retract 和StatefulSession 的retract 方法一样,宏函数retract 也是用来将Working Memory 当中某个Fact 对象从Working Memory 当中删除。 drools 如果您希望在规则文件里更多的实现对当前的Working Memory 控制,那么可以使用drools 宏对象实现,通过使用drools 宏对象可以实现在规则文件里直接访问WorkingMemory。在前面介绍update 宏函数的时候我们就使用drools 宏对象来访问当前的WorkingMemory,得到一个指定的Fact 对象的FactHandle。同时前面介绍的insert、insertLogical、update 和retract 宏函数的功能皆可以通过使用drools 宏对象来实现。 kcontext kcontext 也是Drools 提供的一个宏对象, 它的作用主要是用来得到当前KnowledgeRuntime 对象,KnowledgeRuntime 对象可以实现与引擎的各种交互。 modify modify 是一个表达式块,它可以快速实现对Fact 对象多个属性进行修改,修改完成后会自动更新到当前的Working Memory 当中。它的基本语法格式如下: modify(fact-expression){ 修改Fact 属性的表达式[,修改Fact 属性的表达式*] }

文档评论(0)

178****9325 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档