[rules-users] Weird classloader problem

Mark Proctor mproctor at codehaus.org
Mon Nov 18 13:31:28 EST 2013


I think it depends on the system. When we have symbols it attempts to see if they are classes are not, on some systems the file system does not recognise type and can get confused.

Mark


On 18 Nov 2013, at 15:17, Alexander Herwix <alex at herwix.com> wrote:

> I actually got it to compile and work by prefixing the new var with $. Maybe it's a bug where the parser/compiler messes up, when a variable has no prefix and the same name as a class but in lowercase?! Is this even possible?
> 
> Anyway if someone has a similar problem, maybe this helps :)
> 
> Cheers, Alex
> 
> 
> Am 18.11.2013 um 14:13 schrieb Martin Minka <martin.minka at gmail.com>:
> 
>> I had similar problem and it was solved in 6.0.0.CR5.
>> 
>> 
>> 2013/11/18 Alexander Herwix <alex at herwix.com>
>> Hey guys,
>> 
>> using Drools 6 RC4. I have a simple rule which should cast an object into a specialized object (if it is indeed a specialization) and insert that into the session.
>> 
>> rule "Obj is SpecialObject"
>>     salience 201
>> when
>> 
>>     $mainObj : MainObj(obj.class == SpecialObject.class, $obj : obj)
>> then
>>     System.out.println("Obj is SpecialObj");
>> 
>>     SpecialObj specialObj = (SpecialObj) $obj;
>>     insert(specialObj);
>> end
>> 
>> This rule doesn't even compile and I get a nasty error: NoClassDefFoundError: com/iterranux/droolsjbpmHumanTask/domain/team__I (wrong name: com/iterranux/droolsjbpmHumanTask/domain/Team__I).
>> 
>> I mean it looks like the Class is present, but somehow it's lowercased somewhere. It's weird I can use some other obj but this doesn't work. Anyone seen something like this before? Maybe some other way to do what I want to do? I tried to declare a trait and don that obj with that but same result.
>> 
>> Another question would be if it is really necessary to insert the object as a new fact, or could I access the nested property directly in a rule and typecast it there somehow?
>> 
>> Cheers, Alex
>> 
>> Error java.lang.RuntimeException: Reloading agent exited via exception, please raise a jira
>> | Error         at org.springsource.loaded.agent.ClassPreProcessorAgentAdapter.transform(ClassPreProcessorAgentAdapter.java:104)
>> | Error         at sun.instrument.TransformerManager.transform(TransformerManager.java:188)
>> | Error         at sun.instrument.InstrumentationImpl.transform(InstrumentationImpl.java:424)
>> | Error         at java.lang.ClassLoader.defineClass1(Native Method)
>> | Error         at java.lang.ClassLoader.defineClass(ClassLoader.java:791)
>> | Error         at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
>> | Error         at java.net.URLClassLoader.defineClass(URLClassLoader.java:449)
>> | Error         at java.net.URLClassLoader.access$100(URLClassLoader.java:71)
>> | Error         at java.net.URLClassLoader$1.run(URLClassLoader.java:361)
>> | Error         at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
>> | Error         at java.security.AccessController.doPrivileged(Native Method)
>> | Error         at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
>> | Error         at java.lang.ClassLoader.loadClass(ClassLoader.java:423)
>> | Error         at groovy.lang.GroovyClassLoader.loadClass(GroovyClassLoader.java:648)
>> | Error         at groovy.lang.GroovyClassLoader.loadClass(GroovyClassLoader.java:758)
>> | Error         at groovy.lang.GroovyClassLoader.loadClass(GroovyClassLoader.java:746)
>> | Error         at java.lang.Class.forName0(Native Method)
>> | Error         at java.lang.Class.forName(Class.java:266)
>> | Error         at org.drools.core.common.ProjectClassLoader.loadClass(ProjectClassLoader.java:80)
>> | Error         at java.lang.ClassLoader.loadClass(ClassLoader.java:356)
>> | Error         at java.lang.Class.forName0(Native Method)
>> | Error         at java.lang.Class.forName(Class.java:266)
>> | Error         at org.mvel2.ParserConfiguration.checkForDynamicImport(ParserConfiguration.java:163)
>> | Error         at org.mvel2.ParserConfiguration.hasImport(ParserConfiguration.java:191)
>> | Error         at org.mvel2.ParserContext.hasImport(ParserContext.java:360)
>> | Error         at org.mvel2.compiler.AbstractParser.createPropertyToken(AbstractParser.java:1341)
>> | Error         at org.mvel2.compiler.AbstractParser.nextToken(AbstractParser.java:846)
>> | Error         at org.mvel2.compiler.ExpressionCompiler._compile(ExpressionCompiler.java:128)
>> | Error         at org.mvel2.compiler.ExpressionCompiler.compile(ExpressionCompiler.java:62)
>> | Error         at org.mvel2.MVEL.analyze(MVEL.java:680)
>> | Error         at org.mvel2.compiler.PropertyVerifier.getMethod(PropertyVerifier.java:536)
>> | Error         at org.mvel2.compiler.PropertyVerifier.analyze(PropertyVerifier.java:120)
>> | Error         at org.mvel2.compiler.ExpressionCompiler.verify(ExpressionCompiler.java:381)
>> | Error         at org.mvel2.compiler.ExpressionCompiler._compile(ExpressionCompiler.java:273)
>> | Error         at org.mvel2.compiler.ExpressionCompiler.compile(ExpressionCompiler.java:62)
>> | Error         at org.mvel2.MVEL.analyze(MVEL.java:680)
>> | Error         at org.mvel2.MVEL.analyze(MVEL.java:685)
>> | Error         at org.drools.compiler.rule.builder.dialect.mvel.MVELExprAnalyzer.analyzeExpression(MVELExprAnalyzer.java:114)
>> | Error         at org.drools.compiler.rule.builder.dialect.mvel.MVELDialect.analyzeBlock(MVELDialect.java:539)
>> | Error         at org.drools.compiler.rule.builder.dialect.mvel.MVELConsequenceBuilder.build(MVELConsequenceBuilder.java:130)
>> | Error         at org.drools.compiler.rule.builder.RuleBuilder.build(RuleBuilder.java:103)
>> | Error         at org.drools.compiler.compiler.PackageBuilder.addRule(PackageBuilder.java:3160)
>> | Error         at org.drools.compiler.compiler.PackageBuilder.compileRules(PackageBuilder.java:1047)
>> | Error         at org.drools.compiler.compiler.PackageBuilder.compileAllRules(PackageBuilder.java:952)
>> | Error         at org.drools.compiler.compiler.CompositeKnowledgeBuilderImpl.buildRules(CompositeKnowledgeBuilderImpl.java:231)
>> | Error         at org.drools.compiler.compiler.CompositeKnowledgeBuilderImpl.buildPackages(CompositeKnowledgeBuilderImpl.java:86)
>> | Error         at org.drools.compiler.compiler.CompositeKnowledgeBuilderImpl.build(CompositeKnowledgeBuilderImpl.java:75)
>> | Error         at org.drools.compiler.kie.builder.impl.AbstractKieModule.buildKnowledgePackages(AbstractKieModule.java:201)
>> | Error         at org.drools.compiler.kie.builder.impl.AbstractKieProject.verify(AbstractKieProject.java:39)
>> | Error         at org.drools.compiler.kie.builder.impl.KieBuilderImpl.buildKieProject(KieBuilderImpl.java:305)
>> | Error         at org.drools.compiler.kie.builder.impl.KieBuilderImpl.buildAll(KieBuilderImpl.java:187)
>> | Error         at com.iterranux.droolsjbpmCore.runtime.build.impl.KieModuleBuilder.buildKmoduleForGrailsModule(KieModuleBuilder.java:127)
>> | Error         at com.iterranux.droolsjbpmCore.runtime.build.impl.KieModuleBuilder.buildKmoduleForGrailsModule(KieModuleBuilder.java:148)
>> | Error         at com.iterranux.droolsjbpmCore.runtime.build.impl.KieModuleBuilder$buildKmoduleForGrailsModule.call(Unknown Source)
>> | Error         at DroolsjbpmCoreGrailsPlugin$_closure7.doCall(DroolsjbpmCoreGrailsPlugin.groovy:386)
>> | Error         at sun.reflect.GeneratedMethodAccessor992.invoke(Unknown Source)
>> | Error         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>> | Error         at java.lang.reflect.Method.invoke(Method.java:601)
>> | Error         at org.springsource.loaded.ri.OriginalClassInvoker.invoke(OriginalClassInvoker.java:47)
>> | Error         at org.springsource.loaded.ri.ReflectiveInterceptor.jlrMethodInvoke(ReflectiveInterceptor.java:1283)
>> | Error         at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:90)
>> | Error         at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:233)
>> | Error         at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1085)
>> | Error         at groovy.lang.ExpandoMetaClass.invokeMethod(ExpandoMetaClass.java:1110)
>> | Error         at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:909)
>> | Error         at groovy.lang.Closure.call(Closure.java:411)
>> | Error         at DroolsjbpmCoreGrailsPlugin$_closure7.call(DroolsjbpmCoreGrailsPlugin.groovy)
>> | Error         at org.codehaus.groovy.grails.plugins.DefaultGrailsPlugin.invokeOnChangeListener(DefaultGrailsPlugin.java:767)
>> | Error         at org.codehaus.groovy.grails.plugins.DefaultGrailsPlugin.notifyOfEvent(DefaultGrailsPlugin.java:716)
>> | Error         at org.codehaus.groovy.grails.plugins.DefaultGrailsPlugin.notifyOfEvent(DefaultGrailsPlugin.java:731)
>> | Error         at org.codehaus.groovy.grails.plugins.AbstractGrailsPluginManager.informOfClassChange(AbstractGrailsPluginManager.java:406)
>> | Error         at org.codehaus.groovy.grails.plugins.AbstractGrailsPluginManager.informOfFileChange(AbstractGrailsPluginManager.java:367)
>> | Error         at org.codehaus.groovy.grails.compiler.GrailsProjectWatcher.informPluginManager(GrailsProjectWatcher.java:243)
>> | Error         at org.codehaus.groovy.grails.compiler.GrailsProjectWatcher.access$400(GrailsProjectWatcher.java:46)
>> | Error         at org.codehaus.groovy.grails.compiler.GrailsProjectWatcher$1.onChange(GrailsProjectWatcher.java:154)
>> | Error         at org.codehaus.groovy.grails.compiler.DirectoryWatcher.fireOnChange(DirectoryWatcher.java:174)
>> | Error         at org.codehaus.groovy.grails.compiler.DirectoryWatcher.run(DirectoryWatcher.java:156)
>> | Error         at org.codehaus.groovy.grails.compiler.GrailsProjectWatcher.run(GrailsProjectWatcher.java:178)
>> | Error         at java_lang_Runnable$run.call(Unknown Source)
>> | Error         at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:45)
>> | Error         at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:108)
>> | Error         at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:112)
>> | Error         at org.codehaus.groovy.grails.cli.fork.ForkedGrailsProcess.startProjectWatcher(ForkedGrailsProcess.groovy:702)
>> | Error         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>> | Error         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
>> | Error         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>> | Error         at java.lang.reflect.Method.invoke(Method.java:601)
>> | Error         at org.springsource.loaded.ri.ReflectiveInterceptor.jlrMethodInvoke(ReflectiveInterceptor.java:1254)
>> | Error         at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:90)
>> | Error         at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:233)
>> | Error         at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1085)
>> | Error         at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:909)
>> | Error         at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1030)
>> | Error         at groovy.lang.ExpandoMetaClass.invokeMethod(ExpandoMetaClass.java:1110)
>> | Error         at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:909)
>> | Error         at org.codehaus.groovy.runtime.callsite.PogoMetaClassSite.callCurrent(PogoMetaClassSite.java:66)
>> | Error         at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallCurrent(CallSiteArray.java:49)
>> | Error         at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:133)
>> | Error         at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:145)
>> | Error         at org.codehaus.groovy.grails.cli.fork.ForkedGrailsProcess$_setupReloading_closure16.doCall(ForkedGrailsProcess.groovy:691)
>> | Error         at org.codehaus.groovy.grails.cli.fork.ForkedGrailsProcess$_setupReloading_closure16.doCall(ForkedGrailsProcess.groovy)
>> | Error         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>> | Error         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
>> | Error         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>> | Error         at java.lang.reflect.Method.invoke(Method.java:601)
>> | Error         at org.springsource.loaded.ri.ReflectiveInterceptor.jlrMethodInvoke(ReflectiveInterceptor.java:1254)
>> | Error         at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:90)
>> | Error         at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:233)
>> | Error         at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1085)
>> | Error         at groovy.lang.ExpandoMetaClass.invokeMethod(ExpandoMetaClass.java:1110)
>> | Error         at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:909)
>> | Error         at groovy.lang.Closure.call(Closure.java:411)
>> | Error         at groovy.lang.Closure.call(Closure.java:405)
>> | Error         at groovy.lang.Closure.run(Closure.java:492)
>> | Error         at java.lang.Thread.run(Thread.java:722)
>> | Error Caused by: org.springsource.loaded.ReloadException: Problem defining class com.iterranux.droolsjbpmHumanTask.domain.team__I
>> | Error         at org.springsource.loaded.TypeRegistry.defineClass(TypeRegistry.java:1076)
>> | Error         at org.springsource.loaded.ReloadableType.rewriteCallSitesAndDefine(ReloadableType.java:807)
>> | Error         at org.springsource.loaded.ReloadableType.<init>(ReloadableType.java:151)
>> | Error         at org.springsource.loaded.TypeRegistry.addType(TypeRegistry.java:889)
>> | Error         at org.springsource.loaded.agent.SpringLoadedPreProcessor.preProcess(SpringLoadedPreProcessor.java:246)
>> | Error         at org.springsource.loaded.agent.ClassPreProcessorAgentAdapter.transform(ClassPreProcessorAgentAdapter.java:102)
>> | Error         ... 114 more
>> | Error Caused by: java.lang.reflect.InvocationTargetException
>> | Error         at sun.reflect.GeneratedMethodAccessor62.invoke(Unknown Source)
>> | Error         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>> | Error         at java.lang.reflect.Method.invoke(Method.java:601)
>> | Error         at org.springsource.loaded.TypeRegistry.defineClass(TypeRegistry.java:1071)
>> | Error         ... 119 more
>> | Error Caused by: java.lang.NoClassDefFoundError: com/iterranux/droolsjbpmHumanTask/domain/team__I (wrong name: com/iterranux/droolsjbpmHumanTask/domain/Team__I)
>> | Error         at java.lang.ClassLoader.defineClass1(Native Method)
>> | Error         at java.lang.ClassLoader.defineClass(ClassLoader.java:791)
>> | Error         at java.lang.ClassLoader.defineClass(ClassLoader.java:634)
>> | Error         ... 123 more
>> _______________________________________________
>> rules-users mailing list
>> rules-users at lists.jboss.org
>> https://lists.jboss.org/mailman/listinfo/rules-users
>> 
>> _______________________________________________
>> rules-users mailing list
>> rules-users at lists.jboss.org
>> https://lists.jboss.org/mailman/listinfo/rules-users
> 
> _______________________________________________
> rules-users mailing list
> rules-users at lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/rules-users

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.jboss.org/pipermail/rules-users/attachments/20131118/99c97cd1/attachment-0001.html 


More information about the rules-users mailing list