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)