-
Bug
-
Resolution: Won't Do
-
Blocker
-
None
-
5.5.0.Final
-
None
-
-
User Experience
-
High
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.