We have a rule package with a target platform of a JBoss server. Based on the recommendation at http://wiki.jboss.org/wiki/Wiki.jsp?page=RulesTomcat we changed the package config to use the JavaDialectConfiguration.JANINO compiler. However, when trying to load the package with the janino compiler we get the stack trace included below. The rules load correctly if the compiler change is not set (but they won’t load in JBoss if we don’t make the compiler change).

 

Is there an alternative workaround for the JDT issue that would allow us to use something other than the janino compiler to load the rules inside of JBoss? Or is there a known cause or workaround for the exception below?

 

We are using Drools 4.0.4 and JBoss 4.0.5

 

Thanks for your help

Joe

 

 

java.lang.RuntimeException: SNO: Conversion failed

      at org.codehaus.janino.UnitCompiler.binaryNumericPromotion(UnitCompiler.java)

      at org.codehaus.janino.UnitCompiler.compileArithmeticOperation(UnitCompiler.java)

      at org.codehaus.janino.UnitCompiler.compileGet2(UnitCompiler.java)

      at org.codehaus.janino.UnitCompiler.access$39(UnitCompiler.java)

      at org.codehaus.janino.UnitCompiler$7.visitBinaryOperation(UnitCompiler.java)

      at org.codehaus.janino.Java$BinaryOperation.accept(Java.java)

      at org.codehaus.janino.UnitCompiler.compileGet(UnitCompiler.java)

      at org.codehaus.janino.UnitCompiler.compileGetValue(UnitCompiler.java)

      at org.codehaus.janino.UnitCompiler.compile2(UnitCompiler.java)

      at org.codehaus.janino.UnitCompiler.access$12(UnitCompiler.java)

      at org.codehaus.janino.UnitCompiler$2.visitLocalVariableDeclarationStatement(UnitCompiler.java)

      at org.codehaus.janino.Java$LocalVariableDeclarationStatement.accept(Java.java)

      at org.codehaus.janino.UnitCompiler.compile(UnitCompiler.java)

      at org.codehaus.janino.UnitCompiler.compile2(UnitCompiler.java)

      at org.codehaus.janino.UnitCompiler.access$3(UnitCompiler.java)

      at org.codehaus.janino.UnitCompiler$2.visitBlock(UnitCompiler.java)

      at org.codehaus.janino.Java$Block.accept(Java.java)

      at org.codehaus.janino.UnitCompiler.compile(UnitCompiler.java)

      at org.codehaus.janino.UnitCompiler.compile(UnitCompiler.java)

      at org.codehaus.janino.UnitCompiler.compile2(UnitCompiler.java)

      at org.codehaus.janino.UnitCompiler.compile2(UnitCompiler.java)

      at org.codehaus.janino.UnitCompiler$1.visitPackageMemberClassDeclaration(UnitCompiler.java)

      at org.codehaus.janino.Java$PackageMemberClassDeclaration.accept(Java.java)

      at org.codehaus.janino.UnitCompiler.compile(UnitCompiler.java)

      at org.codehaus.janino.UnitCompiler.compileUnit(UnitCompiler.java)

      at org.codehaus.janino.Compiler.compile(Compiler.java)

      at org.drools.commons.jci.compilers.JaninoJavaCompiler.compile(JaninoJavaCompiler.java:174)

      at org.drools.commons.jci.compilers.AbstractJavaCompiler.compile(AbstractJavaCompiler.java:51)

      at org.drools.rule.builder.dialect.java.JavaDialect.compileAll(JavaDialect.java:332)

      at org.drools.compiler.DialectRegistry.compileAll(DialectRegistry.java:60)

      at org.drools.compiler.PackageBuilder.addPackage(PackageBuilder.java:308)

      at org.drools.compiler.PackageBuilder.addPackageFromDrl(PackageBuilder.java:167)

      at com.sample.DroolsTest.readRule(DroolsTest.java:63)

      at com.sample.DroolsTest.main(DroolsTest.java:24)