sliding time in lhs
by Francesco Chiarelli
Hi!
i'm new to use a drools-fusion, i've a next lhs condition in rule:
$o: Order(status!="EU_C_R1_INIT")
SystemConfig(value:value) from hbnSession.createQuery("from
SystemConfig where name=:name").setString("name","nRicMax").uniqueResult()
$nRic : Number(intValue < value) from accumulate($n:
Order(this==$o) over window:time(1d),count($n))
Data:
1) Order 1 date 28 aug 2009 EU_C_INIT
2) Order 1 date 31 aug 2009 EU_A_INIT
3) Order 1 date 31 aug 2009 EU_B_INIT
4) Order 1 date 30 aug 2009 EU_B_INIT
5) Order 1 date 28 aug 2009 EU_A_INIT
6) Order 1 date 01 aug 2009 EU_A_INIT
7) Order 1 date 28 aug 2009 EU_C_INIT
8) Order 1 date 28 aug 2009 EU_C_INIT
Only the first condition is verified [ Order(status!="EU_C_R1_INIT") ]
altough there are facts that verify Order(this==$o) over window:time(24h) ]
There are n-k facts that don't verify a previous condition but them come
count also:
I espect that drools count a 2-3-4 but it count also 5-6-7: i'm confused
P.S. i did set a stream mode, i' had set a timestamp attribute in event fact
@timestamp(myTimestampLong), i tried with pseudo clock (making it advance
for new Date().getTime() or at origin, therefore 01 jan 1970 [without event
@timestamp attribute] )
Regards
Francesco
16 years, 6 months
Serialization of packages: InvalidClassException / serialVersionUID
by Bernd Rücker
Hi!
I really struggled some time with serialization issues: I want to create a
pkg and package that with the jar. From there I want to read it during
runtime.
Easy I thought. Drools 5 way should be to serialize the KnowledgeBase,
right? At least, this is what the AntTask does.
If I try to serialize the KnowledgePackage I get an excpetion anyway:
Okay. Back to the KnowledgeBase. Serialized with Drools 5.0.0.M4 and try
to read it with 5.0.0.M5:
Caused by: java.io.InvalidClassException:
org.drools.impl.KnowledgeBaseImpl;
local class incompatible: stream classdesc serialVersionUID =
-4540376767025107954,
local class serialVersionUID = -3186110098262381425
So it seems Drools Packages are NOT compatible between minor versions?
This would be a disaster for deployment. Or do I serialize the wrong
thing? Unfortunately I didnt find anything in the docs about it.
Then I tried to do it the old Drools 4 way and serialize Package
objects, but same problem with a different serialVersionUID!
Why do these important classes dont have a serialVersionUID? Or how
should that be loaded? Must be a big issue with Govner, so I think there
must be a solution already?
Thanks for any help!
Cheers
Bernd
16 years, 6 months
Why so many ACTIVATION/DEACTIVATION events?
by Tom.E.Murphy@wellsfargo.com
We have a fairly complex object model, but we're still puzzled - I thought that the definition of "Activation" was that the data matched on all conditions of a rule, and therefore the rule was entered into the agenda (activated).
If that is true, I cannot figure out why we're experiencing this.
As our number of rules increases, we're seeing exponential increases in repetitive activation/deactivation pairs, even on rules where we know the data does not match the conditions.
Example:
The following rule (abbreviated here) creates an object of type PolicySet if there are none that match the conditions.
I would expect this rule to activate once, then fire, wherein the matching PolicySet is created, and then never activate again since the absence of a matching PolicySet object is never again true.
However, in a rule base of ~4,000 rules, we see this rule activating 975 times and deactivating 975 times. This is just one example - nearly all our rules do this, and it is seriously impacting decisioning performance.
Have I misunderstood the meaning of "activation"? Can anyone help me understand this?
rule "RS6090.1.12_RF7007_50001012"
when
LendingProduct ( $exitStrategyType1 : exitStrategyType )
Features ( $lienPriority1 : lienPriority )
DecisionResultsInfo ( $dealRiskCategory1 : dealRiskCategory )
TransactionDetail ( $parentTransactionDetail1Id : myId )
not
(
PolicySet ( $parentPolicySet_1_Id : myId, parentId == $parentTransactionDetail1Id )
and
PolicySetIdentifier ( parentId == $parentPolicySet_1_Id
, lienPriority == $lienPriority1
, exitStrategyType == $exitStrategyType1
, dealRiskCategory == $dealRiskCategory1)
)
then
// Content removed... rule creates the policy set and the policy set identifier, and initializes all appropriate elements
// After doing so, why does it activate/deactivate 1800+ times in a rule base of 4000 rules?
System.out.println("6090 fired.");
End
Thanks.
Tom Murphy
Business Process Consultant
Wells Fargo HCFG - CORE Deal Decisioning Platform
800 S. Jordan Creek Parkway | West Des Moines, IA 50266
MAC: X2301-01B
Office: 515 324 4853 | Mobile: 941 320 8014
This message may contain confidential and/or privileged information. If you are not the addressee or authorized to receive this for the addressee, you must not use, copy, disclose, or take any action based on this message or any information herein. If you have received this message in error, please advise the sender immediately by reply e-mail and delete this message. Thank you for your cooperation.
16 years, 6 months