Mark,

 I really appreciate the help and think I have come to a solution. Let me
know if this sounds reasonable.
1. We will continue to use jBPM to coordinate the rules and business logic
that need to occur in calculating charges for orders. However we will work
the process to only work on a per order level.
2. All orders are associated with accounts. We will keep one knowledgebase
as the rule sets are the same and we will partition sessions by accounts.
The flow will go as follows:
a. If the session exists insert the order, start a new process instance and
fire all rules
b. If the session has not been created: create the session, insert all
reference data that will be used by all orders in executions of the rule
set, insert the order, start a process, and fire all rules. This session is
then cached(via a hashmap more then likely)
c. This process will be invoked asyn from the main thread, allowing us to
control the multithreading 
3. Orders will be treated as an event and will be set to expire in a certain
amount of time, allowing us to mange the memory footprint of each session. 

Does this sound reasonable based on what you know of our usecase?
Additionally with expiring Orders does this cause a reevaluation of the
rules when the expiration occurs? The only other question I have is does the
expiration clock start when no more activation's get created for the given
event?

Thanks again.

--
View this message in context: 
http://drools.46999.n3.nabble.com/Drools-5-3-partitioned-rule-base-tp3793558p3795920.html
Sent from the Drools: User forum mailing list archive at Nabble.com.
_______________________________________________
rules-users mailing list
rules-users@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/rules-users

Reply via email to