Drools和多线程

时间:2018-01-24 15:23:07

标签: drools

我正在多线程应用程序中执行Drools。很多时候,我在控制台中看到这个警告:

2018-01-24 09:17:16.223 AM [drools-worker-4] WARN odcrule.constraint.MvelConstraint - 异常jitting :driveable =='Y'这不是错误并且不会阻止正确执行,因为约束将以intrepreted模式进行评估。

是否意味着需要更改评估的约束顺序?任何有关这方面的见解都会有所帮助。 我正在使用Drools 6.5.0.Final。 应用程序:Spring Boot with Thread pool task executor。

1 个答案:

答案 0 :(得分:0)

KSession不是线程安全的。在多线程应用程序中,行为是无法预测的。

所以选项1:使它成为本地线程。不要忘记在fireAllRules()之后撤回所有事实

选项#2:每次都创建一个新的KSession以便fireAllRules()。不要忘了以后将其丢弃。