Hybris规则引擎不会调用促销活动

时间:2018-01-16 22:15:22

标签: protocol-buffers drools hybris

当我们想要在集群环境中调用促销时,我们会遇到异常。它看起来像一个错误的protobuf-java库版本的maven依赖问题。但我们找不到解决方案。

类似的问题:

http://drools-moved.46999.n3.nabble.com/Upgrade-to-protobuf-2-5-and-how-to-work-with-Protobuf-td4023028.html

INFO   | jvm 1    | main    | 2018/01/16 22:13:26.793 | ESC[mException in           thread "AfterSaveEventPublisher-master" java.lang.VerifyError: class org.drools.compiler.kie.builder.impl.KieModuleCache$KModuleCache overrides final method getUnknownFields.()Lcom/google/protobuf/UnknownFieldSet;
INFO   | jvm 1    | main    | 2018/01/16 22:13:26.793 |         at java.lang.ClassLoader.defineClass1(Native Method)
INFO   | jvm 1    | main    | 2018/01/16 22:13:26.793 |         at java.lang.ClassLoader.defineClass(ClassLoader.java:763)
INFO   | jvm 1    | main    | 2018/01/16 22:13:26.793 |         at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
INFO   | jvm 1    | main    | 2018/01/16 22:13:26.793 |         at java.net.URLClassLoader.defineClass(URLClassLoader.java:467)
INFO   | jvm 1    | main    | 2018/01/16 22:13:26.793 |         at java.net.URLClassLoader.access$100(URLClassLoader.java:73)
INFO   | jvm 1    | main    | 2018/01/16 22:13:26.793 |         at java.net.URLClassLoader$1.run(URLClassLoader.java:368)
INFO   | jvm 1    | main    | 2018/01/16 22:13:26.793 |         at java.net.URLClassLoader$1.run(URLClassLoader.java:362)
INFO   | jvm 1    | main    | 2018/01/16 22:13:26.793 |         at java.security.AccessController.doPrivileged(Native Method)
INFO   | jvm 1    | main    | 2018/01/16 22:13:26.793 |         at java.net.URLClassLoader.findClass(URLClassLoader.java:361)
INFO   | jvm 1    | main    | 2018/01/16 22:13:26.793 |         at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
INFO   | jvm 1    | main    | 2018/01/16 22:13:26.793 |         at de.hybris.bootstrap.loader.YURLClassLoader.loadRegisterAndResolveClass(YURLClassLoader.java:85)
INFO   | jvm 1    | main    | 2018/01/16 22:13:26.793 |         at de.hybris.bootstrap.loader.YURLClassLoader.loadClass(YURLClassLoader.java:72)
INFO   | jvm 1    | main    | 2018/01/16 22:13:26.793 |         at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
INFO   | jvm 1    | main    | 2018/01/16 22:13:26.793 |         at org.drools.compiler.kie.builder.impl.KieMetaInfoBuilder.createCacheBuilder(KieMetaInfoBuilder.java:119)
INFO   | jvm 1    | main    | 2018/01/16 22:13:26.793 |         at org.drools.compiler.kie.builder.impl.KieMetaInfoBuilder.generateKieModuleMetaInfo(KieMetaInfoBuilder.java:72)
INFO   | jvm 1    | main    | 2018/01/16 22:13:26.793 |         at org.drools.compiler.kie.builder.impl.KieMetaInfoBuilder.writeKieModuleMetaInfo(KieMetaInfoBuilder.java:54)
INFO   | jvm 1    | main    | 2018/01/16 22:13:26.793 |         at org.drools.compiler.kie.builder.impl.KieBuilderImpl.buildKieProject(KieBuilderImpl.java:233)
INFO   | jvm 1    | main    | 2018/01/16 22:13:26.793 |         at org.drools.compiler.kie.builder.impl.KieBuilderImpl.buildAll(KieBuilderImpl.java:197)
INFO   | jvm 1    | main    | 2018/01/16 22:13:26.793 |         at de.hybris.platform.ruleengine.init.impl.DefaultRuleEngineKieModuleSwapper.createKieModule(DefaultRuleEngineKieModuleSwapper.java:276)
INFO   | jvm 1    | main    | 2018/01/16 22:13:26.793 |         at de.hybris.platform.ruleengine.init.impl.DefaultRuleEngineBootstrap.startup(DefaultRuleEngineBootstrap.java:73)
INFO   | jvm 1    | main    | 2018/01/16 22:13:26.793 |         at de.hybris.platform.ruleengine.event.OnTenantStartupProcessor.lambda$0(OnTenantStartupProcessor.java:103)
INFO   | jvm 1    | main    | 2018/01/16 22:13:26.793 |         at java.util.ArrayList.forEach(ArrayList.java:1255)
INFO   | jvm 1    | main    | 2018/01/16 22:13:26.793 |         at de.hybris.platform.ruleengine.event.OnTenantStartupProcessor.activateRulesModules(OnTenantStartupProcessor.java:103)
INFO   | jvm 1    | main    | 2018/01/16 22:13:26.793 |         at de.hybris.platform.ruleengine.event.OnTenantStartupProcessor.processOnTenantStartup(OnTenantStartupProcessor.java:74)
INFO   | jvm 1    | main    | 2018/01/16 22:13:26.793 |         at de.hybris.platform.ruleengine.event.OnTenantStartupProcessor$DefaultRuleEngineTenantListener.afterTenantStartUp(OnTenantStartupProcessor.java:

1 个答案:

答案 0 :(得分:1)

制作蚂蚁制作时,创建扩展顺序会发生变化。有两个Protobuf罐子,用于solr和ruleengine。基于Solr的protbuf版本是2.5并且规则引擎存在问题。

可能的解决方案是将“ant production”之后生成的localextions.xml替换为原始的localextions.xml。然后,成功启动服务器。