编程语言
首页 > 编程语言> > java-Drools:insertLogical和收回

java-Drools:insertLogical和收回

作者:互联网

这是我先前的question的后续操作.我有以下形式的决策树:

我想将其转换为Drools Expert中的规则. insertLogical的使用时间为proposed.Drools文档中关于insertLogical的信息为this

insertLogical(new Something()); is
similar to insert, but the object will
be automatically retracted when there
are no more facts to support the truth
of the currently firing rule.

这些对象被收回的事实很有用(因为我在内存中有成千上万个对象,每个对象都会创建一堆这样的对象).还有一个retract(object)方法,可以从工作内存中删除一个对象.当我到达终端节点并删除(缩回)到达该节点的基础对象(遵循决策树)时,它是否还会删除遍历过程中使用insertLogical创建的所有这些临时对象?

解决方法:

根据我的经验,答案是“否”,您指向的唯一对象将从Drools工作内存中收回,而所有跨对象引用都将保留在JVM内存中.如果将对象的引用保留在某个位置,您甚至可以重新注入收回的对象.

标签:decision-tree,drools,expert-system,java
来源: https://codeday.me/bug/20191102/1995240.html