I have multiple threads spinning around, collecting messages and asserting
facts into a single working memory instance. Some of these threads might
actually be adding rules to the RuleBase as well. Is synchronizing on the
RuleBase instance and WorkingMemory instance sufficient to ensure the rule
base integrity? Or do I need to serialize the access to the RuleBase and
WorkingMemory?

In particular I have a test class that uses 3 threads. One thread reads drl
files, one reads config facts and one reads state information facts at
various times. If I ensure they all run serially, all is well. If I let them
run concurrently, and try to synchronize access to the working memory, I get
some strange exceptions from the ClassFieldExtractor.getValue(...) method
claiming it has an unknown source to evaluate. Does this sound familiar to
anyone??

Thanks,
Justine

Reply via email to