JavaDialectError when attaching a new KBuilder to an existing session
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.
Welcome! Check out the Getting Started with Red Hat page for quick tours and guides for common tasks.
