中国有两个会议,一个是会议状态(),另一个是无状态会议()。
1.那么它们有什么区别?
2.我什么时候应该使用会话状态,什么时候应该使用无状态会话?Essence
状态会话是一个会话,使用推理来迭代事实对象。在会话的状态下,会话的上一个呼叫(上一个会话)(以前的会话状态)的数据保留在会话呼叫之间,并且数据被丢弃在无状态会话中。
没有国家会话不使用推理来使用理由随着时间的推移对事实对象进行迭代性更改。先前称为“没有会话状态”的数据将不会在会话之间保留。
说明:为了理解,我的理解用于使用。1.在无状态会话中,只有多次调用方法,最后一种方法不会影响下一个方法的执行。
2.在文件中使用或平等方法时,将更新工作内存的对象,从而重新匹配规则。
1.如果我们只是验证规则,请使用无状态会话。例如:
2.如果我们的规则需要完成更多步骤,则可以使用会话的状态。例如:
我们自己有一个对象,对象存在和2个属性。规则文件中有两个规则
规则1:如果工作内存中有对象,则对象的属性为1规则2:如果工作内存中有一个对象,则对象的另一个对象是输出字符串。
对于状态会话和状态没有会话,看到结果是不同的。
它是一个普通的爪哇对象。
您需要注意此处的中价值。没有国家和国会会议的价值是不一致的。如果您不编写类型,则默认值为状态会话。
1.因为这是一个会话的状态,在许多情况下,上次工作记忆的对象仍然存在。
2.执行状态会话后,必须调用该方法以避免内存泄漏。
没有状态的会话,因为会话的数据丢失,因此不会输出。
1.在文件中,使用和其他方法时,将它们重新匹配规则。
2.是否可以获得代码或确定值。
3.执行执行后,将删除工作内存中的数据,除非调用该方法,否则将不会清除。
4.从API级别中理解个人理解最好。
https://gitee.com/huan1993/spring-cloud-parent/master/drools- sets
1. https://docs.drools.org/7.69.0.final/drools/html_single/index.html#kie-set_decision-engine
2. https://www.javainuse.com/drools_states
3. https://groups.google.com/g/drools-sage/c/qybqis1ht4g
原始:https://juejin.cn/post/70971404491685888807