I understand from the Drools documentation that OSGi support has been dropped from Drools in version 8.
We've been using Drools for several years in our Apache Karaf application, but now it seems we cannot upgrade, as I've not been able to get version 8.44.0Final working.
Does anybody have any tips on how to get Drools 8 working in an OSGi-environment?
I tried Apache Aries SPI Fly to enable the ServiceLoader mechanism used in Drools, which seems to help.
But now I get the error below, allthough I did provision the drools-mvel bundle.
java.lang.RuntimeException: Unable to load Dialect 'mvel'. Please add drools-mvel among your dependencies
at org.drools.compiler.rule.builder.PackageBuildContext.initContext(PackageBuildContext.java:99)
at org.drools.compiler.rule.builder.RuleBuildContext.<init>(RuleBuildContext.java:83)
at org.drools.compiler.builder.impl.processors.ImmutableRuleCompilationPhase.buildRuleBuilderContext(ImmutableRuleCompilationPhase.java:259)
at org.drools.compiler.builder.impl.processors.ImmutableRuleCompilationPhase.compileRulesLevel(ImmutableRuleCompilationPhase.java:297)
at org.drools.compiler.builder.impl.processors.ImmutableRuleCompilationPhase.process(ImmutableRuleCompilationPhase.java:82)
at java.base/java.util.Arrays$ArrayList.forEach(Arrays.java:4204)
at org.drools.compiler.builder.impl.KnowledgeBuilderImpl.compileKnowledgePackages(KnowledgeBuilderImpl.java:461)
at org.drools.compiler.builder.impl.KnowledgeBuilderImpl.buildRules(KnowledgeBuilderImpl.java:1020)
at org.drools.compiler.builder.impl.KnowledgeBuilderImpl.doFirstBuildStep(KnowledgeBuilderImpl.java:994)
at org.drools.compiler.builder.impl.CompositeKnowledgeBuilderImpl.build(CompositeKnowledgeBuilderImpl.java:114)
at org.drools.compiler.builder.impl.CompositeKnowledgeBuilderImpl.build(CompositeKnowledgeBuilderImpl.java:104)
at org.drools.compiler.kie.builder.impl.AbstractKieProject.buildKnowledgePackages(AbstractKieProject.java:270)
at org.drools.compiler.kie.builder.impl.AbstractKieProject.buildKnowledgePackages(AbstractKieProject.java:216)
at org.drools.compiler.kie.builder.impl.AbstractKieProject.verify(AbstractKieProject.java:80)
at org.drools.compiler.kie.builder.impl.KieBuilderImpl.buildKieProject(KieBuilderImpl.java:282)
at org.drools.compiler.kie.builder.impl.KieBuilderImpl.buildAll(KieBuilderImpl.java:248)
at org.drools.compiler.kie.builder.impl.KieBuilderImpl.buildAll(KieBuilderImpl.java:195)
For the record, this is how I got it working in the end. The Drools 7 feature
had to be replaced by