]
Maruthi Shanmugam commented on DROOLS-538:
------------------------------------------
Full Stack Trace,
at
org.drools.rule.MVELDialectRuntimeData.getParserConfiguration(MVELDialectRuntimeData.java:318)
at
org.drools.base.mvel.MVELCompilationUnit.getCompiledExpression(MVELCompilationUnit.java:203)
at
org.drools.rule.constraint.MvelConstraint.createMvelConditionEvaluator(MvelConstraint.java:206)
at org.drools.rule.constraint.MvelConstraint.evaluate(MvelConstraint.java:190) at
org.drools.rule.constraint.MvelConstraint.isAllowed(MvelConstraint.java:157) at
org.drools.reteoo.AlphaNode.assertObject(AlphaNode.java:137) at
org.drools.reteoo.SingleObjectSinkAdapter.propagateAssertObject(SingleObjectSinkAdapter.java:59)
at org.drools.reteoo.ObjectTypeNode.assertObject(ObjectTypeNode.java:235) at
org.drools.reteoo.EntryPointNode.assertObject(EntryPointNode.java:240) at
org.drools.common.NamedEntryPoint.insert(NamedEntryPoint.java:350) at
org.drools.common.NamedEntryPoint.insert(NamedEntryPoint.java:311) at
org.drools.common.AbstractWorkingMemory.insert(AbstractWorkingMemory.java:903) at
org.drools.common.AbstractWorkingMemory.insert(AbstractWorkingMemory.java:847) at
org.drools.reteoo.ReteooStatelessSession.executeWithResults(ReteooStatelessSession.java:273)
at
org.drools.jsr94.rules.StatelessRuleSessionImpl.executeRules(StatelessRuleSessionImpl.java:159)
at
org.drools.jsr94.rules.StatelessRuleSessionImpl.executeRules(StatelessRuleSessionImpl.java:128)
at org.springmodules.jsr94.core.Jsr94RuleSupport$1.execute(Jsr94RuleSupport.java:115) at
org.springmodules.jsr94.core.Jsr94Template.executeStateless(Jsr94Template.java:146) at
org.springmodules.jsr94.core.Jsr94RuleSupport.executeStateless(Jsr94RuleSupport.java:108)
at
org.springmodules.jsr94.core.Jsr94RuleSupport.executeStateless(Jsr94RuleSupport.java:148)
Unable to resolve class error , drools 5.5 in concurrent execution.
JSR94Support and Spring
--------------------------------------------------------------------------------------------
Key: DROOLS-538
URL:
https://issues.jboss.org/browse/DROOLS-538
Project: Drools
Issue Type: Bug
Security Level: Public(Everyone can see)
Affects Versions: 5.5.0.Final
Environment: Linux Red Hat , Enterprise, JDK 1.6, Drools 5.5.Final
Reporter: Maruthi Shanmugam
Assignee: Mark Proctor
Priority: Blocker
We use Drools 5.5 and drool implementation is done through Spring JSR94Support API>
The Rule engine is called in concurrent mode,
i.e , JSR94Support.executeStateless(name,list) is executed through multiple threads.
And when the rules are executed we randomly get the following exception
org.drools.RuntimeDroolsException: Unable to resolve class 'someclass(this is
sample)here actual class is printed>'
at
org.drools.base.ClassFieldAccessorCache.getClass(ClassFieldAccessorCache.java:126)
at
org.drools.base.ClassFieldAccessorCache.getClassObjectType(ClassFieldAccessorCache.java:48)
at
org.drools.reteoo.ClassObjectTypeConf.<init>(ClassObjectTypeConf.java:83)
at
org.drools.common.ObjectTypeConfigurationRegistry.getObjectTypeConf(ObjectTypeConfigurationRegistry.java:71)
at org.drools.common.NamedEntryPoint.insert(NamedEntryPoint.java:159)
at
org.drools.common.AbstractWorkingMemory.insert(AbstractWorkingMemory.java:903)
at
org.drools.common.AbstractWorkingMemory.insert(AbstractWorkingMemory.java:847)
at
org.drools.reteoo.ReteooStatelessSession.executeWithResults(ReteooStatelessSession.java:273)
The rules are registered every 15 minutes through
RuleAdministrator.registerRuleExecutionset ,
so whenever we refresh the rules and the subsequent thread even after the registration is
completed, fails with the above message. This happens only when the rules are invoked
concurrently.