7.stateful session

使用stateless session时,通常我们插入一个fact,对应规则集合A被触发,如果fact内容的变化,我们可以在fireAllRules之后,看到fact内容的修改。但如果需要进行逻辑推理,在fact的内容变化时,我们想让规则引擎感知变化的话,就需要用到stateful session。

使用stateless session时,直接调用对象的方法:sprinkler.setOn(true);即可,如果使用stateful session需要使用“with”语句:modify(sprinkler ) { setOn( true ) };

参考链接的例子中,当我们插入或删除fire时,会触发规则,使Sprinkler的状态发生变化

FactHandle kitchenFireHandle = ksession.insert( kitchenFire ); FactHandle officeFireHandle = ksession.insert( officeFire );

ksession.fireAllRules();

ksession.delete( kitchenFireHandle ); ksession.delete( officeFireHandle ); ksession.fireAllRules();

参考:

https://blog.csdn.net/u013815546/article/details/70050315

推荐阅读更多精彩内容

  • 今天见了两个客户,说起全息空间都很认同,并且积极的找资源介绍给我,再次从满足人的需求出发也会容易被人认可和接受。
    吕明超阅读 13评论 0 0
  • 终于,阿岚要回来了,我是兴奋,忐忑和难过。兴奋的是又可以和阿岚见面了;忐忑的是阿岚这次的突然回来看阿李,阿李会怎么...
    一缕光茫阅读 72评论 0 3
  • 我是日记星球267号星宝宝,我正在参加日记星球第七期21天蜕变之旅,这是我的第48篇原创日记。 有人的场合我皮颠皮...
    张小姐4134阅读 183评论 6 11
  • 或许是夜来 风起 也吹起了落叶莎莎 它便不急不徐 有点沉重 又有点轻盈的走来 而后雨落空阶到天明 或许对这冷雨 你...
    小花3阅读 135评论 0 2
  • 猪 吃饱了 才睡 狗 憨样过后 流浪是你的港湾 麻雀 高温天气 张开嘴 是否想进屋吹空调
    夜以风阅读 109评论 0 0