点击此处---> 群内免费提供SAP练习系统(在群公告中)
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
专家,
自定义促销策略未得到调用。
得到以下错误
建议的处理方式
堆栈跟踪:错误[hybrisHTTP38] [DefaultCommerceRuleEngineService]检测到可能的规则循环。 已超过最大允许的规则匹配数。 当前限制:10 11:986d721a-ce92-41bf-81c8-ad9c9d82dab6您可以通过更改" Drools Engine上下文"对象中的ruleFiringLimit字段来调整或禁用规则匹配的限制(请参阅"规则点火限制"属性)。/p>
错误[hybrisHTTP38] [DefaultPromotionEngineService]检测到可能的规则循环。 已超过最大允许的规则匹配数。 当前限制:10 11:986d721a-ce92-41bf-81c8-ad9c9d82dab6您可以通过更改" Drools Engine上下文"对象中的ruleFiringLimit字段来调整或禁用规则匹配的限制(请参阅"规则点火限制"属性)。/p>
de.hybris.platform.ruleengine.exception.DroolsRuleLoopException:检测到可能的规则循环。 已超过最大允许的规则匹配数。 当前限制:10 11:986d721a-ce92-41bf-81c8-ad9c9d82dab6您可以通过更改" Drools Engine上下文"对象中的ruleFiringLimit字段来调整或禁用规则匹配的限制(请参阅"规则点火限制"属性)。/p> 位于de.hybris.platform.ruleengine.impl.RuleMatchCountListener.afterMatchFired(RuleMatchCountListener.java:44)的
〜[ruleengineserver.jar :?]
在org.drools.core.event.AgendaEventSupport.fireAfterActivationFired(AgendaEventSupport.java:98)〜[drools-core-6.3.0.Final.jar:6.3.0.Final]
在org.drools.core.common.DefaultAgenda.fireActivation(DefaultAgenda.java:1114)〜[drools-core-6.3.0.Final.jar:6.3.0.Final]
在org.drools.core.phreak.RuleExecutor.fire(RuleExecutor.java:121)〜[drools-core-6.3.0.Final.jar:6.3.0.Final]
在org.drools.core.phreak.RuleExecutor.evaluateNetworkAndFire(RuleExecutor.java:74)〜[drools-core-6.3.0.Final.jar:6.3.0.Final]
在org.drools.core.common.Default
您得到的错误是hybris规则引擎提供的一种安全机制,可以防止无休止的循环,这种循环在流口水中很容易发生(并且仅通过分析规则就无法预防或预测)。 必须将其修改为" 10",因为默认值(在开箱即用的提供的impex文件中)通常为200。
这只是意味着,在一项规则评估(例如,评估购物车中适用的促销活动)过程中,一旦触发了10条以上的规则,则规则引擎将假设存在无限循环而中止。 因此,如果您的用例允许触发10条以上的规则,则应将ruleFiringLimit增加到一个更高的值(它在 DroolsRuleContext.ruleFiringLimit 属性中定义)。
如果继续出现此错误,则您的流口水规则中的一个(或多个)很有可能不断触发自身(或彼此)。 在简单的情况下,它可能只是不断触发自身的一条规则。 在更复杂的情况下,它可能是 表示Rule1的动作触发了Rule2,Rule2的动作触发了Rule3,Rule3的动作再次触发了Rule1,然后又触发了规则2,等等。
您的系统中有很多规则吗?
他们是手动编写流口水的规则还是使用规则构建器?
您能否在此处提供drl内容(drools代码)以帮助分析发生了什么? 您应该在后勤办公室的 Rule Content 字段中的 Rule Engine-> Drools Rules 下找到该drl。
希望这会有所帮助,
Sebastian
嗨,Ravi/Jayant,
我正面临着同样的问题。请您提供相同的解决方法。
感谢与问候,
HI,
感谢您的回复。 我们的系统中几乎没有Drools规则,但是一个没有调用另一个规则。 我们注意到,此刻,我们对促销规则进行了任何更改并将其发布,该规则在店面停止工作。 Drool内容的标题表示规则需要在更改后进行部署。 这是什么意思? 我们如何动态部署更改? 如果我们重新启动服务器,促销将开始工作。 任何指针将不胜感激。 谢谢。
我们面临着同样的问题。 请让我们知道解决方案
遇到这样的错误消息:" [DefaultCommerceRuleEngineService]可能检测到规则循环。已超过最大允许的规则匹配。" 从6.7版的Hybris升级到18.08版之后。
在这种情况下,作为解决方案-必须重新编译所有当前活动的规则(即发布所有已发布的规则)。
一周热门 更多>