[rules-users] Preventing re-evaluation on modification of 'output' fact

GPatel at tsys.com GPatel at tsys.com
Wed Oct 26 12:34:46 EDT 2011


Define FraudResultsDTO as a global. That way, you don't have to specify it in the WHEN part merely for assigning a variable to it




----- Original Message -----
From: Jamie [jshaw at llbean.com]
Sent: 10/26/2011 09:24 AM MST
To: rules-users at lists.jboss.org
Subject: [rules-users] Preventing re-evaluation on modification of 'output'	fact



We're building a fraud detection application that uses rules to analyze
orders and the buyers and recipients on those orders.  As rules fire, they
modify an 'output' fact, which is an object whose only intent is to record
the results as rules fire.  It's not used in the LHS of any rules other than
to get a handle to it, e.g.:

rule "Rule 001 - Operator Flagged"

	enabled (FraudRuleEvaluationHelper.isRuleEnabled("Rule 001 - Operator
Flagged"))
		
	ruleflow-group "orderAnalysis"
	
	lock-on-active
	
	when
		$order:   OrderFact(operatorFlagged==true)
		$results: FraudResultsDTO()
	then
		modify($results) {
			addOrderSuspectReason("O")
		};
		
		FraudRuleConsequenceHelper.logRuleFiring($order.getOrderId(), "001");
end

We're finding that as the number of facts increases, the processing team
increases dramatically and I'm wondering if modifying the output fact the
way we do causes the rules to get re-evaluated to see if any activations
should be created or cancelled.  Would removing the modify block help
anything?  Should we be thinking about this in some other way?



--
View this message in context: http://drools.46999.n3.nabble.com/Preventing-re-evaluation-on-modification-of-output-fact-tp3455022p3455022.html
Sent from the Drools: User forum mailing list archive at Nabble.com.
_______________________________________________
rules-users mailing list
rules-users at lists.jboss.org
https://lists.jboss.org/mailman/listinfo/rules-users
-----------------------------------------
The information contained in this communication (including any
attachments hereto) is confidential and is intended solely for the
personal and confidential use of the individual or entity to whom
it is addressed. If the reader of this message is not the intended
recipient or an agent responsible for delivering it to the intended
recipient, you are hereby notified that you have received this
communication in error and that any review, dissemination, copying,
or unauthorized use of this information, or the taking of any
action in reliance on the contents of this information is strictly
prohibited. If you have received this communication in error,
please notify us immediately by e-mail, and delete the original
message. Thank you 




More information about the rules-users mailing list