I am facing a problem with Business Rules Engine in Biztalk Server 2006 R2.
I have 1 policy in BRE. A class library is used to invoke the policy.
I have a LongTermFactRetriever implemented.
Everything works fine with the BRE cache getting refreshed if 1 message at a time is sent through the orchestration.
But if we send bulk messages (say 5 at one time concurrently), the BRE cache gets refreshed 4 times (factsHandleIn is null for 4 instances of the orchestration)
Now we have 5 cached objects in BRE working memory. Again, if we send bulk message (5 at one time concurrently), the cached instances are used and no new instance is created.
My query is “should the BRE use the same 1 cached instance for every message flowing through the orchestration or should it create a new instances for concurrent messages if the existing cache is being used by another message”