Closed surajrrao closed 3 years ago
You're using Kogito with the old Drools 7 API and it isn't supposed to work this way. You should process and compile the drl files generating the executable model through our maven plugin instead. If you want to keep using those old APIs you could try to exclude drools-core-static and add drools-core-dynamic among your dependencies (which is how Drools v7 works) but this is strongly discouraged and if you do this there is actually no point in using Kogito.
@mariofusco thanks for replying. Here is my requirement, let me know if this makes sense to go with Kogito
I believe this use case doesn't make much sense in Kogito which is mainly made to work with precompiled DRL (and Java classes, namely the executable model, generated out of them). I think that Drools will be a better fit for your use case.
Below is the code used add rules from string into knowledge base
Seeing below exception on startup
Exception in thread "main" java.lang.UnsupportedOperationException at org.drools.statics.StaticComponentsSupplier$DummyByteArrayClassLoader.defineClass(StaticComponentsSupplier.java:49) at org.drools.core.base.ClassFieldAccessorFactory.getClassFieldReader(ClassFieldAccessorFactory.java:118) at org.drools.core.base.ClassFieldAccessorCache$CacheEntry.getReadAccessor(ClassFieldAccessorCache.java:180) at org.drools.core.base.ClassFieldAccessorCache.getReadAcessor(ClassFieldAccessorCache.java:97) at org.drools.core.base.ClassFieldAccessorStore.wire(ClassFieldAccessorStore.java:287) at org.drools.core.base.ClassFieldAccessorStore.getReader(ClassFieldAccessorStore.java:109) at org.drools.core.base.ClassFieldAccessorStore.getReader(ClassFieldAccessorStore.java:87) at org.drools.compiler.rule.builder.PatternBuilder.registerReadAccessor(PatternBuilder.java:1782) at org.drools.compiler.rule.builder.QueryBuilder.build(QueryBuilder.java:47) at org.drools.compiler.rule.builder.RuleBuilder.preProcess(RuleBuilder.java:86) at org.drools.compiler.builder.impl.KnowledgeBuilderImpl.buildRuleBuilderContext(KnowledgeBuilderImpl.java:1236) at org.drools.compiler.builder.impl.KnowledgeBuilderImpl.buildRuleBuilderContexts(KnowledgeBuilderImpl.java:1218) at org.drools.compiler.builder.impl.KnowledgeBuilderImpl.compileAllQueries(KnowledgeBuilderImpl.java:1059) at org.drools.compiler.builder.impl.KnowledgeBuilderImpl.compileRules(KnowledgeBuilderImpl.java:1051) at org.drools.compiler.builder.impl.KnowledgeBuilderImpl.compileKnowledgePackages(KnowledgeBuilderImpl.java:879) at org.drools.compiler.builder.impl.KnowledgeBuilderImpl.addPackage(KnowledgeBuilderImpl.java:870) at org.drools.compiler.builder.impl.KnowledgeBuilderImpl.addPackageFromDrl(KnowledgeBuilderImpl.java:522) at org.drools.compiler.builder.impl.KnowledgeBuilderImpl.addKnowledgeResource(KnowledgeBuilderImpl.java:696) at org.drools.compiler.builder.impl.KnowledgeBuilderImpl.add(KnowledgeBuilderImpl.java:2182) at org.drools.compiler.builder.impl.KnowledgeBuilderImpl.add(KnowledgeBuilderImpl.java:2171) at com.sample.brm.BootstrapRuleEngine.init(BootstrapRuleEngine.java:120) at com.sample.brm.DroolsApplication.main(DroolsApplication.java:13)