Drools清理工作记忆

时间:2013-11-11 09:04:19

标签: java drools

我的网络应用程序具有供用户参加考试的功能。我使用drools来评估分数并衡量知识水平。我正在使用有状态知识会话。我的情况是这样的。

  1. 每次用户参加考试时,都会在规则中插入2个java bean,一个用于评分,另一个用于评估结果。
  2. 当用户完成考试时,考试结果将存储在数据库中。
  3. 之后,下一个用户将进入同一周期
  4. 我的问题是我必须在一个用户之后清除工作记忆吗?如果是,我该怎么做?

2 个答案:

答案 0 :(得分:0)

如果您正在使用有状态会话,请务必在使用后致电dispose()。如果可能的话,也建议使用缓存kbases,但是按需创建它们不应该泄漏内存。

您应该尝试分析以在Drools中找到任何内存泄漏。

除此之外,它就像任何其他Java应用程序一样。使用分析器查找将对象实例保留在内存中的类(如果有)。

答案 1 :(得分:0)

如果您对所有考试重复使用相同的ksession,请务必撤消在会话执行期间插入的事实。在这种情况下,insertLogical()可能会有所帮助。

如果您在每次考试中使用一个会话,那么请在使用后暂停会话。

希望它有所帮助,