JavaDialectError when attaching a new KBuilder to an existing session

Solution Verified - Updated -

Issue

  • Junit console shows following exception.
java.lang.AssertionError: [JavaDialectError message='PackageStore was unable to read resourceName='com/sample.class'']
[JavaDialectError message='PackageStore was unable to read resourceName='java/lang.class'']
[JavaDialectError message='PackageStore was unable to read resourceName='java/lang/Object.class'']
[JavaDialectError message='PackageStore was unable to read resourceName='java/lang/package-info.class'']
[JavaDialectError message='PackageStore was unable to read resourceName='com/sample/package-info.class'']
[JavaDialectError message='PackageStore was unable to read resourceName='com/sample/Exception.class'']
[JavaDialectError message='PackageStore was unable to read resourceName='java/lang/Exception.class'']
[JavaDialectError message='PackageStore was unable to read resourceName='java/lang/Throwable.class'']
[JavaDialectError message='PackageStore was unable to read resourceName='com/sample/org.class'']
[JavaDialectError message='PackageStore was unable to read resourceName='java/lang/org.class'']
[JavaDialectError message='PackageStore was unable to read resourceName='org/drools.class'']
[JavaDialectError message='PackageStore was unable to read resourceName='org/drools/spi.class'']
[JavaDialectError message='PackageStore was unable to read resourceName='org/drools/spi/KnowledgeHelper.class'']
[JavaDialectError message='PackageStore was unable to read resourceName='org/drools/spi/package-info.class'']
[JavaDialectError message='PackageStore was unable to read resourceName='org/drools/runtime/rule/RuleContext.class'']
[JavaDialectError message='PackageStore was unable to read resourceName='org/drools/runtime/rule/package-info.class'']
[JavaDialectError message='PackageStore was unable to read resourceName='java/io/Serializable.class'']
[JavaDialectError message='PackageStore was unable to read resourceName='com/sample/Foo.class'']
[JavaDialectError message='PackageStore was unable to read resourceName='org/drools/runtime/KnowledgeContext.class'']
[JavaDialectError message='PackageStore was unable to read resourceName='org/drools/runtime/package-info.class'']
[JavaDialectError message='PackageStore was unable to write resourceName='com/sample/Rule_R1_fce7c9643691482996e9c1b4d46ab798.class'']

    at org.junit.Assert.fail(Assert.java:91)
    at org.junit.Assert.assertTrue(Assert.java:43)
    at org.junit.Assert.assertFalse(Assert.java:68)
    at com.sample.test.DroolsTestOne.testDynamicRulesWithTypeDeclarationsJIRA(DroolsTestOne.java:111)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
    at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
    at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
    at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
    at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
    at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
    at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
    at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
    at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
    at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
    at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
    at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
    at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:50)
    at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:467)
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683)
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390)
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197)
  • On the backend Console we can see an NPE while trying to add the rule:
java.lang.NullPointerException
    at org.drools.rule.builder.dialect.java.PackageStore.write(PackageStore.java:47)
    at org.drools.commons.jci.compilers.EclipseJavaCompiler$3.acceptResult(EclipseJavaCompiler.java:380)
    at org.eclipse.jdt.internal.compiler.Compiler.compile(Compiler.java:474)
    at org.drools.commons.jci.compilers.EclipseJavaCompiler.compile(EclipseJavaCompiler.java:388)
    at org.drools.commons.jci.compilers.AbstractJavaCompiler.compile(AbstractJavaCompiler.java:49)
    at org.drools.rule.builder.dialect.java.JavaDialect.compileAll(JavaDialect.java:361)
    at org.drools.compiler.DialectCompiletimeRegistry.compileAll(DialectCompiletimeRegistry.java:53)
    at org.drools.compiler.PackageRegistry.compileAll(PackageRegistry.java:71)
    at org.drools.compiler.PackageBuilder.compileAll(PackageBuilder.java:1019)
    at org.drools.compiler.PackageBuilder.addPackage(PackageBuilder.java:974)
    at org.drools.compiler.PackageBuilder.addPackageFromDrl(PackageBuilder.java:456)
    at org.drools.compiler.PackageBuilder.addKnowledgeResource(PackageBuilder.java:643)
    at org.drools.builder.impl.KnowledgeBuilderImpl.add(KnowledgeBuilderImpl.java:41)
    at com.sample.test.DroolsTestOne.testDynamicRulesWithTypeDeclarationsJIRA(DroolsTestOne.java:110)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
    at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
    at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
    at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
    at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
    at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
    at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
    at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
    at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
    at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
    at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
    at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
    at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:50)
    at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:467)
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683)
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390)
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197)

Environment

  • JBoss Enterprise Business Rules Management System Platform (BRMS)
    • 5.x

Subscriber exclusive content

A Red Hat subscription provides unlimited access to our knowledgebase of over 48,000 articles and solutions.

Current Customers and Partners

Log in for full access

Log In
Close

Welcome! Check out the Getting Started with Red Hat page for quick tours and guides for common tasks.