这是对我之前question的跟进。我有一个以下形式的决策树:
我希望将其转换为Drools Expert中的规则。 insertLogical
的使用一直是proposed。 Drools文档说this关于insertLogical
:
insertLogical(new Something())
;是 类似于插入,但对象会 在那里自动收回 没有更多事实来支持真相 当前解雇规则。
这些对象被收回的事实很有用(因为我将在内存中拥有数万个对象,每个对象都会创建一堆这些对象)。还有一个方法retract(object)
,它从工作内存中删除一个对象。当我到达一个结束节点并删除(retract
)将到达那里的基础对象(在决策树之后)时,它是否还删除了使用{{1}创建的所有这些临时对象在遍历期间?
答案 0 :(得分:4)
根据我的经验,答案是否,您指向的唯一对象将从Drools工作内存中撤回,而所有跨对象引用都将保留在JVM内存中。如果你在某处保留对象的引用,你甚至可以重新注入缩回的对象。