问题描述
在通过JSON调用时,我在Drools中得到以下错误。但是重新启动服务器后,相同的jar和请求可以正常工作。不知道发生这种情况的确切原因是什么。
错误JSON响应:
{
"type": "FAILURE","msg": "Error calling container MotorPolicyRules_1.0.1: [PrePolicy.TW_OD:1 -- [TW_OD_computation:3 - Get Max discount:8] -- Fire rule limit reached 10000,limit can be set via system property org.jbpm.rule.task.firelimit or via data input of business rule task named FireRuleLimit","result": null
}
解决方法
您遇到了limit,其目的是保护您的应用程序免受循环规则的影响。 除非,否则您非常罕见地需要合法地触发同一规则10,000次(或总共10,000条规则),那么您可能会对规则的设计和调查有疑问。抛出该异常是为了提醒您这种潜在的危险情况。
(超过10,000个规则的合法用例是一组规则,需要对大型电子表格中的多行进行操作。)
从规则和输入的设计方式到管理会话的方式,您为什么要达到此限制可能有很多原因。下次遇到这种情况时,您需要调试服务器(显然是在重新启动之前),然后看看发生了什么以及如何将信息传递到服务器中。规则引擎。