调用行动策略时出错

2020-08-31 00:18发布

         点击此处--->   EasySAP.com群内免费提供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
  

         点击此处--->   EasySAP.com群内免费提供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
  
付费偷看设置
发送
5条回答
软件心理学工程师
1楼 · 2020-08-31 00:24.采纳回答

您得到的错误是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

代楠1984
2楼-- · 2020-08-31 00:25

嗨,Ravi/Jayant,

我正面临着同样的问题。请您提供相同的解决方法。

感谢与问候,

微wx笑
3楼-- · 2020-08-31 00:22

HI,

感谢您的回复。 我们的系统中几乎没有Drools规则,但是一个没有调用另一个规则。 我们注意到,此刻,我们对促销规则进行了任何更改并将其发布,该规则在店面停止工作。 Drool内容的标题表示规则需要在更改后进行部署。 这是什么意思? 我们如何动态部署更改? 如果我们重新启动服务器,促销将开始工作。 任何指针将不胜感激。 谢谢。

CPLASF-自律
4楼-- · 2020-08-31 00:45

我们面临着同样的问题。 请让我们知道解决方案

wang628962
5楼-- · 2020-08-31 00:20

遇到这样的错误消息:" [DefaultCommerceRuleEngineService]可能检测到规则循环。已超过最大允许的规则匹配。" 从6.7版的Hybris升级到18.08版之后。

在这种情况下,作为解决方案-必须重新编译所有当前活动的规则(即发布所有已发布的规则)。

一周热门 更多>