[jboss-jira] [JBoss JIRA] (DROOLS-538) Unable to resolve class error , drools 5.5 in concurrent execution. JSR94Support and Spring

Davide Sottara (JIRA) issues at jboss.org
Thu Jul 3 13:41:24 EDT 2014


    [ https://issues.jboss.org/browse/DROOLS-538?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12982133#comment-12982133 ] 

Davide Sottara commented on DROOLS-538:
---------------------------------------

The CCL was the source of a number of synchronization problems, it has been replaced completely in 6.x.
Unfortunately the dev team won't have time to work on 5.x version. I'm a community member myself with a huge 
number of other tasks. Again, Drools 5.x was never designed to be thread-safe...
You may have to upgrade, or to look at the ProjectClassLoader in 6.x and try to backport it to 5.6.


> 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. 



--
This message was sent by Atlassian JIRA
(v6.2.6#6264)


More information about the jboss-jira mailing list