我们已经从2011年迁移到2105。
在发布新的促销时会出现一些问题,在较低的version.When中,这些问题似乎很好--我们发布了一个促销(甚至在条件CMS站点中发布了OOB促销,在cart上的行动中有10%的折扣),当我发布该促销时,我会得到一个错误,例如:
ruleOrderEntryFixedDiscountAction.executeAction(new
DefaultDroolsRuleActionContext(variables, kcontext),
["value_uuid":"6e732228-89fe-4f4e-8dea-5235dee2ccd7",
"bundleSize":new Integer(4), "bundleSize_uuid":"49803399-
53a8-44b6-85cd-35c1b83235d7", "bundleLimit_uuid":"778299c6-
75bd-414e-97bb-3e5fe1aa0bf9", "bundleLimit":new Integer(2),
"value":new BigDecimal("50")]);
$groupExecution.trackRuleGroupExecution($config);:
[Error: unable to resolve method using strict-mode:
org.drools.core.spi.KnowledgeHelper.$groupExecution()]发布于 2022-02-02 20:56:09
这是由于drools规则引擎中的一些更改。这将导致在解析旧Drools规则时出现异常。
要解决这个问题,你可以
进口de.hybris.platform.commerceservices.search.pagedata.PageableData de.hybris.platform.servicelayer.search.FlexibleSearchQuery进口com.google.common.collect.ImmutableMap;进口de.hybris.platform.servicelayer.interceptor.impl.InterceptorExecutionPolicy;进口de.hybris.platform.servicelayer.session.SessionExecutionBody;进口de.hybris.platform.servicelayer.session.SessionService;进口com.google.common.collect.ImmutableSet;int start =0 int pageSize =1 000 int FlexibleSearchQuery searchQuery = pageSize final FlexibleSearchQuery searchQuery= new FlexibleSearchQuery(“从{DroolsRule} ORDER {PK}选择{PK}") searchQuery.setCount(pageSize) searchQuery.setNeedTotal(真)而(start < total) { searchQuery.setStart(start) def searchResult = flexibleSearchService.search(searchQuery) searchResult.getResult().each { final Map
或
如果不再需要
DroolsRule对象。请注意,删除这些旧规则可能会对与Drools规则相关的现有订单产生影响。促销结果仍将附呈,但很难说是什么促销触发了这一结果。
我建议选择第一种方法,不要丢失任何数据。
不要忘记在执行的任何一个步骤后重新发布规则
https://stackoverflow.com/questions/70929736
复制相似问题