java.lang.RuntimeException: Child services [org.kie.api.internal.assembler.KieAssemblers] have no parent in RHDM/RHPAM

Solution Verified - Updated -

Issue

  • I hit the following Exception when running my application
java.lang.ExceptionInInitializerError: null
    at org.kie.api.internal.utils.ServiceRegistry.getInstance(ServiceRegistry.java:27)
    at org.kie.api.KieServices$Factory$LazyHolder.<clinit>(KieServices.java:341)
    at org.kie.api.KieServices$Factory.get(KieServices.java:348)
    at org.optaplanner.core.config.score.director.ScoreDirectorFactoryConfig.buildDroolsScoreDirectorFactory(ScoreDirectorFactoryConfig.java:501)
    at org.optaplanner.core.config.score.director.ScoreDirectorFactoryConfig.buildScoreDirectorFactory(ScoreDirectorFactoryConfig.java:351)
    at org.optaplanner.core.config.solver.SolverConfig.buildSolver(SolverConfig.java:255)
    at org.optaplanner.core.impl.solver.AbstractSolverFactory.buildSolver(AbstractSolverFactory.java:61)
    ...
Caused by: java.lang.RuntimeException: Child services [org.kie.api.internal.assembler.KieAssemblers] have no parent
    at org.kie.api.internal.utils.ServiceDiscoveryImpl.buildMap(ServiceDiscoveryImpl.java:180)
    at org.kie.api.internal.utils.ServiceDiscoveryImpl.getServices(ServiceDiscoveryImpl.java:97)
    at org.kie.api.internal.utils.ServiceRegistryImpl.<init>(ServiceRegistryImpl.java:36)
    at org.kie.api.internal.utils.ServiceRegistryImpl$LazyHolder.<clinit>(ServiceRegistryImpl.java:32)
    ... 13 common frames omitted
  • When packaging my drools application into a uber jar (fat jar), I see this NullPointerException like below when building KieBase / KieSession:
java.lang.NullPointerException
        at org.kie.internal.io.ResourceFactory.newByteArrayResource(ResourceFactory.java:66)
        at org.drools.compiler.kie.builder.impl.AbstractKieModule.getResource(AbstractKieModule.java:311)
        at org.drools.compiler.kie.builder.impl.AbstractKieModule.addResourceToCompiler(AbstractKieModule.java:274)
        at org.drools.compiler.kie.builder.impl.AbstractKieModule.addResourceToCompiler(AbstractKieModule.java:269)
        at org.drools.compiler.kie.builder.impl.AbstractKieProject.buildKnowledgePackages(AbstractKieProject.java:257)
        at org.drools.compiler.kie.builder.impl.AbstractKieModule.buildKnowledgePackages(AbstractKieModule.java:201)
        at org.drools.compiler.kie.builder.impl.AbstractKieModule.createKieBase(AbstractKieModule.java:215)
        at org.drools.compiler.kie.builder.impl.KieContainerImpl.createKieBase(KieContainerImpl.java:406)
        at org.drools.compiler.kie.builder.impl.KieContainerImpl.getKieBase(KieContainerImpl.java:374)
        at org.drools.compiler.kie.builder.impl.KieContainerImpl.getKieBaseFromKieSessionModel(KieContainerImpl.java:575)
        at org.drools.compiler.kie.builder.impl.KieContainerImpl.newKieSession(KieContainerImpl.java:551)
        at org.drools.compiler.kie.builder.impl.KieContainerImpl.newKieSession(KieContainerImpl.java:521)

Environment

  • Red Hat Decision Manager (RHDM)
    • 7.x
  • Application jar is built by maven-shade-plugin

Subscriber exclusive content

A Red Hat subscription provides unlimited access to our knowledgebase, tools, and much more.

Current Customers and Partners

Log in for full access

Log In

New to Red Hat?

Learn more about Red Hat subscriptions

Using a Red Hat product through a public cloud?

How to access this content