<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META http-equiv=Content-Type content="text/html; charset=iso-8859-1">
<META content="MSHTML 6.00.2900.3603" name=GENERATOR><!--[if !mso]>
<STYLE>v\:* {
        BEHAVIOR: url(#default#VML)
}
o\:* {
        BEHAVIOR: url(#default#VML)
}
w\:* {
        BEHAVIOR: url(#default#VML)
}
.shape {
        BEHAVIOR: url(#default#VML)
}
</STYLE>
<![endif]-->
<STYLE>@font-face {
        font-family: MS Mincho;
}
@font-face {
        font-family: Tahoma;
}
@font-face {
        font-family: Verdana;
}
@font-face {
        font-family: @MS Mincho;
}
@page Section1 {size: 595.3pt 841.9pt; margin: 70.85pt 70.85pt 70.85pt 70.85pt; }
P.MsoNormal {
        FONT-SIZE: 12pt; MARGIN: 0cm 0cm 0pt; FONT-FAMILY: "Times New Roman"
}
LI.MsoNormal {
        FONT-SIZE: 12pt; MARGIN: 0cm 0cm 0pt; FONT-FAMILY: "Times New Roman"
}
DIV.MsoNormal {
        FONT-SIZE: 12pt; MARGIN: 0cm 0cm 0pt; FONT-FAMILY: "Times New Roman"
}
A:link {
        COLOR: blue; TEXT-DECORATION: underline
}
SPAN.MsoHyperlink {
        COLOR: blue; TEXT-DECORATION: underline
}
A:visited {
        COLOR: purple; TEXT-DECORATION: underline
}
SPAN.MsoHyperlinkFollowed {
        COLOR: purple; TEXT-DECORATION: underline
}
P {
        FONT-SIZE: 12pt; MARGIN-LEFT: 0cm; MARGIN-RIGHT: 0cm; FONT-FAMILY: "Times New Roman"; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto
}
SPAN.EmailStyle17 {
        FONT-WEIGHT: normal; COLOR: windowtext; FONT-STYLE: normal; FONT-FAMILY: Verdana; TEXT-DECORATION: none; mso-style-type: personal
}
SPAN.EmailStyle19 {
        FONT-WEIGHT: normal; COLOR: blue; FONT-STYLE: normal; FONT-FAMILY: Verdana; TEXT-DECORATION: none; mso-style-type: personal-reply
}
DIV.Section1 {
        page: Section1
}
</STYLE>
</HEAD>
<BODY lang=FR vLink=purple link=blue>
<DIV dir=ltr align=left><SPAN class=155113109-11092009><FONT face=Arial
color=#0000ff size=2>OK, I understand more.</FONT></SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=155113109-11092009><FONT face=Arial
color=#0000ff size=2></FONT></SPAN> </DIV>
<DIV dir=ltr align=left><SPAN class=155113109-11092009><FONT face=Arial
color=#0000ff size=2>Why not split your rules into two; one that matches all
Booking Rules for a transaction and then another (higher salience) that logs one
for only one match?</FONT></SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=155113109-11092009><FONT face=Arial
color=#0000ff size=2></FONT></SPAN> </DIV>
<DIV dir=ltr align=left><SPAN class=155113109-11092009><FONT face=Arial
color=#0000ff size=2><FONT face="Courier New" color=#000000>rule
"bootstrap"</FONT></FONT></SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=155113109-11092009><FONT face="Courier New"
size=2>salience 0</FONT></SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=155113109-11092009><FONT face=Arial
color=#0000ff size=2><FONT face="Courier New"
color=#000000>when</FONT></FONT></SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=155113109-11092009><FONT face=Arial
color=#0000ff size=2><FONT face="Courier New" color=#000000>
$md:MarketDealModel()</FONT></FONT></SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=155113109-11092009><FONT face="Courier New"
size=2>then</FONT></SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=155113109-11092009><FONT face="Courier New"
size=2> insert new
MarketDealClassification($md);</FONT></SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=155113109-11092009><FONT face="Courier New"
size=2>end</FONT></SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=155113109-11092009><FONT
size=2></FONT></SPAN> </DIV>
<DIV dir=ltr align=left><SPAN class=155113109-11092009><FONT face="Courier New"
size=2><O:P>rule "Find level 1 booking rules"</O:P></FONT></SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=155113109-11092009><O:P><SPAN
class=155113109-11092009></SPAN><FONT face="Courier New" size=2>s<SPAN
class=155113109-11092009>alience 1</SPAN><BR></FONT></O:P></SPAN><SPAN
class=155113109-11092009><O:P><FONT face="Courier New"
size=2>when</FONT></O:P></SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=155113109-11092009><O:P><FONT
face="Courier New"><FONT size=2><SPAN
class=155113109-11092009> </SPAN>dealModel : MarketDealModel(
$dealPortfolio : portfolio, $dealTrader : trader, $dealProduct :
product)</FONT></FONT></O:P></SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=155113109-11092009><FONT face="Courier New"
size=2><O:P> productRelatedIndexes :
ProductRelatedIndexes( product.internalCode == $dealProduct.internalCode,
$dealProductIndexes : relatedIndexes)</O:P></FONT></SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=155113109-11092009><O:P>
<DIV><SPAN class=155113109-11092009><FONT face="Courier New"
size=2><?XML:NAMESPACE PREFIX = O /><O:P><SPAN
class=155113109-11092009> $mdc :
MarketDealClassification(deal ==
dealModel)</SPAN></O:P></FONT></SPAN></DIV><FONT face="Courier New"
size=2> <SPAN class=155113109-11092009>$mb :
</SPAN>BTExecutionBookingRuleModel(</FONT></O:P></SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=155113109-11092009><FONT face="Courier New"
size=2><O:P> <SPAN
class=155113109-11092009> </SPAN>priority ==
BTExecutionBookingRuleModel.LEVEL_1</O:P></FONT></SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=155113109-11092009><FONT face="Courier New"
size=2><O:P> <SPAN
class=155113109-11092009> </SPAN>&&
eval(matchTraderCriterion(traderCriterion,
$dealTrader))</O:P></FONT></SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=155113109-11092009><FONT face="Courier New"
size=2><O:P> <SPAN
class=155113109-11092009> </SPAN>&&
eval(matchPortfolioCriterion(portfolioCriterion, $dealPortfolio))
</O:P></FONT></SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=155113109-11092009><FONT face="Courier New"
size=2><O:P> <SPAN
class=155113109-11092009> </SPAN>&&
eval(matchIndexCriterion(listedIndexCriterion,
$dealProductIndexes))</O:P></FONT></SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=155113109-11092009><FONT face="Courier New"
size=2><O:P> <SPAN
class=155113109-11092009> </SPAN>&&
eval(matchProductTypeCriterion(productTypeStringCriterion, $dealProduct))
</O:P></FONT></SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=155113109-11092009><FONT face="Courier New"
size=2><O:P> )</O:P></FONT></SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=155113109-11092009><O:P><FONT
face="Courier New"><FONT size=2>then</FONT></FONT></O:P></SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=155113109-11092009><FONT face="Courier New"
size=2><O:P><SPAN class=155113109-11092009>
$mdc.addBookingModel($mb);</SPAN></O:P></FONT></SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=155113109-11092009><FONT face="Courier New"
size=2><O:P><SPAN
class=155113109-11092009> update($mdc);</SPAN></O:P></FONT></SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=155113109-11092009><FONT face="Courier New"
size=2><O:P>end</O:P></FONT></SPAN></DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><SPAN class=155113109-11092009><FONT face="Courier New" size=2>rule "Level
1 singular matches"</FONT></SPAN></DIV>
<DIV><SPAN class=155113109-11092009><FONT face="Courier New" size=2>salience
2</FONT></SPAN></DIV>
<DIV><SPAN class=155113109-11092009><FONT face="Courier New"
size=2>when</FONT></SPAN></DIV>
<DIV><SPAN class=155113109-11092009><FONT face="Courier New"
size=2> $mdc : MarketDealClassification( hasSingleMatch
== false )</FONT></SPAN></DIV>
<DIV><SPAN class=155113109-11092009><FONT face="Courier New"
size=2>then</FONT></SPAN></DIV>
<DIV><SPAN class=155113109-11092009><FONT face="Courier New"
size=2> retract($mdc);</FONT></SPAN></DIV>
<DIV><SPAN class=155113109-11092009><FONT face="Courier New"
size=2>end</FONT></SPAN></DIV>
<DIV><SPAN class=155113109-11092009><FONT face="Courier New"
size=2></FONT></SPAN> </DIV>
<DIV><SPAN class=155113109-11092009><FONT face="Courier New" size=2>Class
MarketDealClassification {</FONT></SPAN></DIV>
<DIV>
<DIV><SPAN class=155113109-11092009><FONT face="Courier New"
size=2></FONT></SPAN> </DIV>
<DIV><SPAN class=155113109-11092009><FONT face="Courier New"
size=2> private ArrayList<BTExecutionBookingRuleModel>
bookingRules = new
ArrayList<BTExecutionBookingRuleModel>();</FONT></SPAN></DIV>
<DIV><SPAN class=155113109-11092009>
<FONT face="Courier New" size=2>private boolean classified =
false;</FONT></SPAN></DIV>
<DIV><SPAN class=155113109-11092009><FONT face="Courier New"
size=2> private MarketDealModel deal;</FONT></SPAN></DIV>
<DIV><SPAN class=155113109-11092009><FONT face="Courier New"
size=2></FONT></SPAN> </DIV>
<DIV><SPAN class=155113109-11092009><FONT face="Courier New"
size=2> public MarketDealClassification(MarketDealModel deal)
{</FONT></SPAN></DIV>
<DIV><SPAN class=155113109-11092009><FONT face="Courier New"
size=2>
this.deal=deal;</FONT></SPAN></DIV>
<DIV><SPAN class=155113109-11092009><FONT face="Courier New"
size=2> }</FONT></SPAN></DIV>
<DIV><SPAN class=155113109-11092009><FONT face="Courier New"
size=2></FONT></SPAN> </DIV>
<DIV><SPAN class=155113109-11092009><FONT face="Courier New"
size=2> public void
addBookingModel(BTExecutionBookingRuleModel bookingRule) {</FONT></SPAN></DIV>
<DIV><SPAN class=155113109-11092009><FONT face="Courier New"
size=2>
this.bookingRules.add(bookingRule);</FONT></SPAN></DIV>
<DIV><SPAN class=155113109-11092009><FONT face="Courier New"
size=2> this.hasSingleMatch =
(this.bookingRules.length()==1 ? true : false);</FONT></SPAN></DIV>
<DIV><SPAN class=155113109-11092009><FONT face="Courier New"
size=2> }</FONT></SPAN></DIV>
<DIV><SPAN class=155113109-11092009><FONT face="Courier New"
size=2></FONT></SPAN> </DIV>
<DIV><SPAN class=155113109-11092009><FONT face="Courier New"
size=2> public boolean hasSingleMatch() {</FONT></SPAN></DIV>
<DIV><SPAN class=155113109-11092009><FONT face="Courier New"
size=2> return
this.hasSingleMatch;</FONT></SPAN></DIV>
<DIV><SPAN class=155113109-11092009><FONT face="Courier New"
size=2> }</FONT></SPAN></DIV>
<DIV><SPAN class=155113109-11092009><FONT face="Courier New"
size=2>}</FONT></SPAN></DIV>
<DIV><SPAN class=155113109-11092009><FONT size=2></FONT></SPAN> </DIV>
<DIV><SPAN class=155113109-11092009><FONT face=Arial color=#0000ff size=2>Best
add a disclaimer; I've not used Drools for a while and this could turn out to be
complete tripe! </FONT></SPAN></DIV>
<DIV><SPAN class=155113109-11092009><FONT face=Arial color=#0000ff
size=2></FONT></SPAN> </DIV>
<DIV><SPAN class=155113109-11092009><FONT face=Arial color=#0000ff
size=2>(Preparing to be ripped to shreds by others with more *recent*
experience)</FONT></SPAN></DIV>
<DIV><SPAN class=155113109-11092009><FONT face=Arial color=#0000ff
size=2></FONT></SPAN><FONT face=Arial color=#0000ff size=2></FONT> </DIV>
<DIV><SPAN class=155113109-11092009><FONT face=Arial color=#0000ff
size=2>Cheers,</FONT></SPAN></DIV>
<DIV><SPAN class=155113109-11092009><FONT face=Arial color=#0000ff
size=2></FONT></SPAN> </DIV>
<DIV><SPAN class=155113109-11092009><FONT face=Arial color=#0000ff
size=2>Mike </FONT></SPAN></DIV></DIV><FONT face="Courier New"
size=2></FONT><BR>
<BLOCKQUOTE dir=ltr style="MARGIN-RIGHT: 0px">
<DIV class=OutlookMessageHeader lang=en-us dir=ltr align=left>
<HR tabIndex=-1>
<FONT face=Tahoma size=2><B>From:</B> rules-users-bounces@lists.jboss.org
[mailto:rules-users-bounces@lists.jboss.org] <B>On Behalf Of </B>Costigliola
Joel (EXT)<BR><B>Sent:</B> 11 September 2009 10:07<BR><B>To:</B> 'Rules Users
List'<BR><B>Subject:</B> Re: [rules-users] Memory error when inserting facts
instatefulsession<BR></FONT><BR></DIV>
<DIV></DIV>
<DIV>
<DIV>
<DIV class=Section1>
<P class=MsoNormal><FONT face=Verdana color=blue size=2><SPAN
style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: Verdana">Hi
Mike,<O:P></O:P></SPAN></FONT></P>
<P class=MsoNormal><FONT face=Verdana color=blue size=2><SPAN
style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: Verdana"><O:P></O:P></SPAN></FONT></P>
<P class=MsoNormal><FONT face=Verdana color=blue size=2><SPAN lang=EN-GB
style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: Verdana">Quick reply,
thanks !<O:P></O:P></SPAN></FONT></P>
<P class=MsoNormal><FONT face=Verdana color=blue size=2><SPAN lang=EN-GB
style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: Verdana"><O:P></O:P></SPAN></FONT></P>
<P class=MsoNormal><FONT face=Verdana color=blue size=2><SPAN lang=EN-GB
style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: Verdana">I think I can’t use
« exists » because I want one and only one booking rule of a
specific level (LEVEL_1, LEVEL_2, …) matching a deal, that’s why the
bookingRuleModels list collected should only contain 1 booking rule. This
explain why in the RHS I’m getting the first booking rule
(bookingRuleModels.get(0)).<O:P></O:P></SPAN></FONT></P>
<P class=MsoNormal><FONT face=Verdana color=blue size=2><SPAN lang=EN-GB
style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: Verdana">If there is more
than one booking rule (or none), I switch to the second Drools rule which
tries to find a unique LEVEL_2 booking rule, then same thing if none or too
many, switch to LEVEL_3 booking rule …<O:P></O:P></SPAN></FONT></P>
<P class=MsoNormal><FONT face=Verdana color=blue size=2><SPAN lang=EN-GB
style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: Verdana"><O:P></O:P></SPAN></FONT></P>
<P class=MsoNormal><FONT face=Verdana color=blue size=2><SPAN lang=EN-GB
style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: Verdana">Hope you get the
idea.<O:P></O:P></SPAN></FONT></P>
<P class=MsoNormal><FONT face=Verdana color=blue size=2><SPAN lang=EN-GB
style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: Verdana"><O:P></O:P></SPAN></FONT></P>
<P class=MsoNormal><FONT face=Verdana color=blue size=2><SPAN lang=EN-GB
style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: Verdana">The matchXXX
function compare the XXX criterion of a booking rule (ex Trader) with the
corresponding Deal attribute (ex Trader).<O:P></O:P></SPAN></FONT></P>
<P class=MsoNormal><FONT face=Verdana color=blue size=2><SPAN lang=EN-GB
style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: Verdana">Here’s the
implementation for comparing trader criterion, note that if a booking rule
does not specify a criterion it is considered as
matched.<O:P></O:P></SPAN></FONT></P>
<P class=MsoNormal><FONT face=Verdana color=blue size=2><SPAN lang=EN-GB
style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: Verdana"><O:P></O:P></SPAN></FONT></P>
<P class=MsoNormal><FONT face="Courier New" color=black size=2><SPAN
lang=EN-GB
style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Courier New'">
</SPAN></FONT><B><FONT face="Courier New" color=#7f0055 size=2><SPAN
lang=EN-GB
style="FONT-WEIGHT: bold; FONT-SIZE: 10pt; COLOR: #7f0055; FONT-FAMILY: 'Courier New'">private</SPAN></FONT></B><FONT
face="Courier New" color=black size=2><SPAN lang=EN-GB
style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Courier New'">
</SPAN></FONT><B><FONT face="Courier New" color=#7f0055 size=2><SPAN
lang=EN-GB
style="FONT-WEIGHT: bold; FONT-SIZE: 10pt; COLOR: #7f0055; FONT-FAMILY: 'Courier New'">static</SPAN></FONT></B><FONT
face="Courier New" color=black size=2><SPAN lang=EN-GB
style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Courier New'">
</SPAN></FONT><B><FONT face="Courier New" color=#7f0055 size=2><SPAN
lang=EN-GB
style="FONT-WEIGHT: bold; FONT-SIZE: 10pt; COLOR: #7f0055; FONT-FAMILY: 'Courier New'">boolean</SPAN></FONT></B><FONT
face="Courier New" color=black size=2><SPAN lang=EN-GB
style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Courier New'">
matchCriterion(NorthIdEntity<?> ruleCriterionModel,
NorthIdEntity<?> model) {</SPAN></FONT><FONT face="Courier New"
size=2><SPAN lang=EN-GB
style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"><O:P></O:P></SPAN></FONT></P>
<P class=MsoNormal><FONT face="Courier New" color=black size=2><SPAN
lang=EN-GB
style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Courier New'">
</SPAN></FONT><B><FONT face="Courier New" color=#7f0055 size=2><SPAN
lang=EN-GB
style="FONT-WEIGHT: bold; FONT-SIZE: 10pt; COLOR: #7f0055; FONT-FAMILY: 'Courier New'">if</SPAN></FONT></B><FONT
face="Courier New" color=black size=2><SPAN lang=EN-GB
style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Courier New'">
(ruleCriterionModel == </SPAN></FONT><B><FONT face="Courier New" color=#7f0055
size=2><SPAN lang=EN-GB
style="FONT-WEIGHT: bold; FONT-SIZE: 10pt; COLOR: #7f0055; FONT-FAMILY: 'Courier New'">null</SPAN></FONT></B><FONT
face="Courier New" color=black size=2><SPAN lang=EN-GB
style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Courier New'">)
{</SPAN></FONT><FONT face="Courier New" size=2><SPAN lang=EN-GB
style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"><O:P></O:P></SPAN></FONT></P>
<P class=MsoNormal><FONT face="Courier New" color=black size=2><SPAN
lang=EN-GB
style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Courier New'">
</SPAN></FONT><FONT face="Courier New" color=#3f7f5f size=2><SPAN lang=EN-GB
style="FONT-SIZE: 10pt; COLOR: #3f7f5f; FONT-FAMILY: 'Courier New'">// no
criterion => matching ok</SPAN></FONT><FONT face="Courier New" size=2><SPAN
lang=EN-GB
style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"><O:P></O:P></SPAN></FONT></P>
<P class=MsoNormal><FONT face="Courier New" color=black size=2><SPAN
lang=EN-GB
style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Courier New'">
</SPAN></FONT><B><FONT face="Courier New" color=#7f0055 size=2><SPAN
lang=EN-GB
style="FONT-WEIGHT: bold; FONT-SIZE: 10pt; COLOR: #7f0055; FONT-FAMILY: 'Courier New'">return</SPAN></FONT></B><FONT
face="Courier New" color=black size=2><SPAN lang=EN-GB
style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Courier New'">
</SPAN></FONT><B><FONT face="Courier New" color=#7f0055 size=2><SPAN
lang=EN-GB
style="FONT-WEIGHT: bold; FONT-SIZE: 10pt; COLOR: #7f0055; FONT-FAMILY: 'Courier New'">true</SPAN></FONT></B><FONT
face="Courier New" color=black size=2><SPAN lang=EN-GB
style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Courier New'">;</SPAN></FONT><FONT
face="Courier New" size=2><SPAN lang=EN-GB
style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"><O:P></O:P></SPAN></FONT></P>
<P class=MsoNormal><FONT face="Courier New" color=black size=2><SPAN
lang=EN-GB
style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Courier New'">
}</SPAN></FONT><FONT face="Courier New" size=2><SPAN lang=EN-GB
style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"><O:P></O:P></SPAN></FONT></P>
<P class=MsoNormal><FONT face="Courier New" color=black size=2><SPAN
lang=EN-GB
style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Courier New'">
</SPAN></FONT><B><FONT face="Courier New" color=#7f0055 size=2><SPAN
lang=EN-GB
style="FONT-WEIGHT: bold; FONT-SIZE: 10pt; COLOR: #7f0055; FONT-FAMILY: 'Courier New'">return</SPAN></FONT></B><FONT
face="Courier New" color=black size=2><SPAN lang=EN-GB
style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Courier New'">
ruleCriterionModel.<SPAN
style="BACKGROUND: silver">equals</SPAN>(model);</SPAN></FONT><FONT
face="Courier New" size=2><SPAN lang=EN-GB
style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"><O:P></O:P></SPAN></FONT></P>
<P class=MsoNormal><FONT face="Courier New" color=black size=2><SPAN
lang=EN-GB
style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Courier New'">
</SPAN></FONT><FONT face="Courier New" color=black size=2><SPAN
style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Courier New'">}</SPAN></FONT><FONT
face="Courier New" size=2><SPAN
style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"><O:P></O:P></SPAN></FONT></P>
<P class=MsoNormal><FONT face=Verdana color=blue size=2><SPAN lang=EN-GB
style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: Verdana"><O:P></O:P></SPAN></FONT></P>
<P class=MsoNormal><FONT face=Verdana color=blue size=2><SPAN lang=EN-GB
style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: Verdana">I have read that
eval is not performant but I thought it was only when executing rules not at
facts insertion phase.<O:P></O:P></SPAN></FONT></P>
<P class=MsoNormal><FONT face=Verdana color=blue size=2><SPAN lang=EN-GB
style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: Verdana">Is this coorect or
is eval impacting negatively facts insertion ? <O:P></O:P></SPAN></FONT></P>
<P class=MsoNormal><FONT face=Verdana color=blue size=2><SPAN lang=EN-GB
style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: Verdana"><O:P></O:P></SPAN></FONT></P>
<P class=MsoNormal><FONT face=Verdana color=blue size=2><SPAN lang=EN-GB
style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: Verdana">Another idea comes
to my mind : can I use a stateless session since once a deal is
classified/booked we don’t want to process it again ?
<O:P></O:P></SPAN></FONT></P>
<P class=MsoNormal><FONT face=Verdana color=blue size=2><SPAN lang=EN-GB
style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: Verdana"><O:P></O:P></SPAN></FONT></P>
<P class=MsoNormal><FONT face=Verdana color=blue size=2><SPAN lang=EN-GB
style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: Verdana">To finish I forgot
to give informations on my environment, it may be useful
:<O:P></O:P></SPAN></FONT></P>
<P class=MsoNormal><FONT face=Verdana color=blue size=2><SPAN lang=EN-GB
style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: Verdana">- Drools version
5.01<O:P></O:P></SPAN></FONT></P>
<P class=MsoNormal><FONT face=Verdana color=blue size=2><SPAN lang=EN-GB
style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: Verdana">- java 6
<O:P></O:P></SPAN></FONT></P>
<P class=MsoNormal><FONT face=Verdana color=blue size=2><SPAN lang=EN-GB
style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: Verdana">- launching my
server with following memory options : -Xms256m
-Xmx1024m<O:P></O:P></SPAN></FONT></P>
<P class=MsoNormal><FONT face=Verdana color=blue size=2><SPAN lang=EN-GB
style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: Verdana"><O:P></O:P></SPAN></FONT></P>
<P class=MsoNormal><FONT face=Verdana color=blue size=2><SPAN lang=EN-GB
style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: Verdana"><O:P></O:P></SPAN></FONT></P>
<P class=MsoNormal><FONT face=Verdana color=blue size=2><SPAN lang=EN-GB
style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: Verdana">Thanks again for
your thought,<O:P></O:P></SPAN></FONT></P>
<P class=MsoNormal><FONT face=Verdana color=blue size=2><SPAN lang=EN-GB
style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: Verdana"><O:P></O:P></SPAN></FONT></P>
<P class=MsoNormal><FONT face=Verdana color=blue size=2><SPAN lang=EN-GB
style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: Verdana">Joel<O:P></O:P></SPAN></FONT></P>
<P class=MsoNormal><FONT face=Verdana color=blue size=2><SPAN lang=EN-GB
style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: Verdana"><O:P></O:P></SPAN></FONT></P>
<DIV>
<DIV class=MsoNormal style="TEXT-ALIGN: center" align=center><FONT
face="Times New Roman" size=3><SPAN style="FONT-SIZE: 12pt">
<HR tabIndex=-1 align=center width="100%" SIZE=2>
</SPAN></FONT></DIV>
<P class=MsoNormal><B><FONT face=Tahoma size=2><SPAN
style="FONT-WEIGHT: bold; FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">De :</SPAN></FONT></B><FONT
face=Tahoma size=2><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
rules-users-bounces@lists.jboss.org
[mailto:rules-users-bounces@lists.jboss.org] <B><SPAN
style="FONT-WEIGHT: bold">De la part de</SPAN></B> Anstis, Michael
(M.)<BR><B><SPAN style="FONT-WEIGHT: bold">Envoyé :</SPAN></B> vendredi
11 septembre 2009 10:35<BR><B><SPAN
style="FONT-WEIGHT: bold">À :</SPAN></B> Rules Users List<BR><B><SPAN
style="FONT-WEIGHT: bold">Objet :</SPAN></B> Re: [rules-users] Memory
error when inserting facts in stateful
session</SPAN></FONT><O:P></O:P></P></DIV>
<P class=MsoNormal><FONT face="Times New Roman" size=3><SPAN
style="FONT-SIZE: 12pt"><O:P></O:P></SPAN></FONT></P>
<P class=MsoNormal><FONT face=Arial color=blue size=2><SPAN
style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: Arial">Hi,</SPAN></FONT><O:P></O:P></P>
<P class=MsoNormal><FONT face="Times New Roman" size=3><SPAN
style="FONT-SIZE: 12pt"><O:P></O:P></SPAN></FONT></P>
<P class=MsoNormal><FONT face=Arial color=blue size=2><SPAN
style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: Arial">As an aside, you
shouldn't need to use a rule flow as the rules themselves determine which RHS
is activated. Could you consider using "exists" instead of the "ArrayList(
size == 1) from collect..." - it looks like you're not too bothered which
Booking Rule matches as (I believe) you have no way to determine which is at
index(0). Also, what do your "matchXXX" functions do? Could you investigate
removing the "evals"?</SPAN></FONT><O:P></O:P></P>
<P class=MsoNormal><FONT face="Times New Roman" size=3><SPAN
style="FONT-SIZE: 12pt"><O:P></O:P></SPAN></FONT></P>
<P class=MsoNormal><FONT face=Arial color=blue size=2><SPAN
style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: Arial">I don't have any
knowledge of your domain - we're all newbies at some time or
other.</SPAN></FONT><O:P></O:P></P>
<P class=MsoNormal><FONT face="Times New Roman" size=3><SPAN
style="FONT-SIZE: 12pt"><O:P></O:P></SPAN></FONT></P>
<P class=MsoNormal><FONT face=Arial color=blue size=2><SPAN
style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: Arial">With kind
regards,</SPAN></FONT><O:P></O:P></P>
<P class=MsoNormal><FONT face="Times New Roman" size=3><SPAN
style="FONT-SIZE: 12pt"><O:P></O:P></SPAN></FONT></P>
<P class=MsoNormal><FONT face=Arial color=blue size=2><SPAN
style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: Arial">Mike</SPAN></FONT><O:P></O:P></P>
<BLOCKQUOTE style="MARGIN-TOP: 5pt; MARGIN-BOTTOM: 5pt; MARGIN-RIGHT: 0cm">
<P class=MsoNormal><FONT face="Times New Roman" size=3><SPAN
style="FONT-SIZE: 12pt"><O:P></O:P></SPAN></FONT></P>
<DIV class=MsoNormal style="TEXT-ALIGN: center" align=center><FONT
face="Times New Roman" size=3><SPAN lang=EN-US style="FONT-SIZE: 12pt">
<HR tabIndex=-1 align=center width="100%" SIZE=2>
</SPAN></FONT></DIV>
<P class=MsoNormal style="MARGIN-BOTTOM: 12pt"><B><FONT face=Tahoma
size=2><SPAN lang=EN-US
style="FONT-WEIGHT: bold; FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">From:</SPAN></FONT></B><FONT
face=Tahoma size=2><SPAN lang=EN-US
style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">
rules-users-bounces@lists.jboss.org
[mailto:rules-users-bounces@lists.jboss.org] <B><SPAN
style="FONT-WEIGHT: bold">On Behalf Of </SPAN></B>Costigliola Joel
(EXT)<BR><B><SPAN style="FONT-WEIGHT: bold">Sent:</SPAN></B> 11 September
2009 09:21<BR><B><SPAN style="FONT-WEIGHT: bold">To:</SPAN></B>
rules-users@lists.jboss.org<BR><B><SPAN
style="FONT-WEIGHT: bold">Subject:</SPAN></B> [rules-users] Memory error
when inserting facts in stateful session</SPAN></FONT><SPAN
lang=EN-US><O:P></O:P></SPAN></P>
<DIV>
<DIV>
<P class=MsoNormal><FONT face=Verdana size=2><SPAN
style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana">Hello,<O:P></O:P></SPAN></FONT><O:P></O:P></P>
<P class=MsoNormal><FONT face=Verdana size=2><SPAN lang=EN-GB
style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana"><O:P></O:P>To be short I’m
facing some performance/memory problems with Drools which leads to the error
: java.lang.OutOfMemoryError: Java heap
space.<O:P></O:P></SPAN></FONT><O:P></O:P></P>
<P class=MsoNormal><FONT face=Verdana size=2><SPAN lang=EN-GB
style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana"><O:P></O:P>That was for the
short story, let me now give you more
details.<O:P></O:P></SPAN></FONT><O:P></O:P></P>
<P class=MsoNormal><FONT face=Verdana size=2><SPAN lang=EN-GB
style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana">First, I’m a Drools newbie so
I certainly have made some “bad”
choice.<O:P></O:P></SPAN></FONT><O:P></O:P></P>
<P class=MsoNormal><FONT face=Verdana size=2><SPAN lang=EN-GB
style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana"><O:P></O:P>I’m using Drools
5.01 to classify automatically the deals made by the traders of my company
(this is the functionnal problem I want to solve with
Drools).<O:P></O:P></SPAN></FONT><O:P></O:P></P>
<P class=MsoNormal><FONT face=Verdana size=2><SPAN lang=EN-GB
style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana">I have written 4 rules, a
rule-flow and start the deals classifying process with a stateful
session.<O:P></O:P></SPAN></FONT><O:P></O:P></P>
<P class=MsoNormal><FONT face=Verdana size=2><SPAN lang=EN-GB
style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana">I have successfully (unit)
tested different scenarios, so everything is ok on a functionnal point of
view.<O:P></O:P></SPAN></FONT><O:P></O:P></P>
<P class=MsoNormal><FONT face=Verdana size=2><SPAN lang=EN-GB
style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana"><O:P></O:P>Problems arise when
I started to insert more deals in the session, which leads to an
OutOfMemoryError before the call to ksession.fireAllRules. logs are below
(after the drools rule).<O:P></O:P></SPAN></FONT><O:P></O:P></P>
<P class=MsoNormal><FONT face=Verdana size=2><SPAN lang=EN-GB
style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana">Number of facts I have tried
to insert in my statefull session :<O:P></O:P></SPAN></FONT><O:P></O:P></P>
<P class=MsoNormal style="MARGIN-LEFT: 36pt; TEXT-INDENT: -18pt"><FONT
face=Verdana size=2><SPAN lang=EN-GB
style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana">-</SPAN></FONT><FONT
size=1><SPAN lang=EN-GB
style="FONT-SIZE: 7pt">
</SPAN></FONT><FONT face=Verdana size=2><SPAN lang=EN-GB
style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana">222 booking rule (POJO
expressing classification criteria) <O:P></O:P></SPAN></FONT><O:P></O:P></P>
<P class=MsoNormal style="MARGIN-LEFT: 36pt; TEXT-INDENT: -18pt"><FONT
face=Verdana size=2><SPAN lang=EN-GB
style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana">-</SPAN></FONT><FONT
size=1><SPAN lang=EN-GB
style="FONT-SIZE: 7pt">
</SPAN></FONT><FONT face=Verdana size=2><SPAN lang=EN-GB
style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana">750 product index
<O:P></O:P></SPAN></FONT><O:P></O:P></P>
<P class=MsoNormal style="MARGIN-LEFT: 36pt; TEXT-INDENT: -18pt"><FONT
face=Verdana size=2><SPAN lang=EN-GB
style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana">-</SPAN></FONT><FONT
size=1><SPAN lang=EN-GB
style="FONT-SIZE: 7pt">
</SPAN></FONT><FONT face=Verdana size=2><SPAN lang=EN-GB
style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana">750 deals
<O:P></O:P></SPAN></FONT><O:P></O:P></P>
<P class=MsoNormal><FONT face=Verdana size=2><SPAN lang=EN-GB
style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana"><O:P></O:P>What drools does
here is to find the correct booking rule to apply for each deal (we need
some product index for that).<O:P></O:P></SPAN></FONT><O:P></O:P></P>
<P class=MsoNormal><FONT face=Verdana size=2><SPAN lang=EN-GB
style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana"><O:P></O:P>Can you tell me if
those numbers seems unrealistic ?<O:P></O:P></SPAN></FONT><O:P></O:P></P>
<P class=MsoNormal><FONT face=Verdana size=2><SPAN lang=EN-GB
style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana">What can I do to avoid the
memory errors ?<O:P></O:P></SPAN></FONT><O:P></O:P></P>
<P class=MsoNormal><FONT face=Verdana size=2><SPAN lang=EN-GB
style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana"><O:P></O:P>To be complete, I
show you the drools rules :<O:P></O:P></SPAN></FONT><O:P></O:P></P>
<P class=MsoNormal><B><FONT face="Courier New" color=#960000 size=2><SPAN
lang=EN-GB
style="FONT-WEIGHT: bold; FONT-SIZE: 10pt; COLOR: #960000; FONT-FAMILY: 'Courier New'"><O:P></O:P>rule</SPAN></FONT></B><FONT
face="Courier New" color=black size=2><SPAN lang=EN-GB
style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Courier New'">
</SPAN></FONT><FONT face="Courier New" color=green size=2><SPAN lang=EN-GB
style="FONT-SIZE: 10pt; COLOR: green; FONT-FAMILY: 'Courier New'">"Find and
apply level 1 booking rule"</SPAN></FONT><O:P></O:P></P><O:P></O:P>
<P class=MsoNormal><FONT face="Courier New" color=black size=2><SPAN
lang=EN-GB
style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Courier New'">
</SPAN></FONT><B><FONT face="Courier New" color=#960000 size=2><SPAN
lang=EN-GB
style="FONT-WEIGHT: bold; FONT-SIZE: 10pt; COLOR: #960000; FONT-FAMILY: 'Courier New'">lock-on-active</SPAN></FONT></B><FONT
face="Courier New" color=black size=2><SPAN lang=EN-GB
style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Courier New'">
</SPAN></FONT><B><FONT face="Courier New" color=#960000 size=2><SPAN
lang=EN-GB
style="FONT-WEIGHT: bold; FONT-SIZE: 10pt; COLOR: #960000; FONT-FAMILY: 'Courier New'">true</SPAN></FONT></B><FONT
face="Courier New" color=black size=2><SPAN lang=EN-GB
style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Courier New'">
</SPAN></FONT><O:P></O:P></P><O:P></O:P>
<P class=MsoNormal><FONT face="Courier New" color=black size=2><SPAN
lang=EN-GB
style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Courier New'">
</SPAN></FONT><B><FONT face="Courier New" color=#960000 size=2><SPAN
lang=EN-GB
style="FONT-WEIGHT: bold; FONT-SIZE: 10pt; COLOR: #960000; FONT-FAMILY: 'Courier New'">ruleflow-group</SPAN></FONT></B><FONT
face="Courier New" color=black size=2><SPAN lang=EN-GB
style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Courier New'">
</SPAN></FONT><FONT face="Courier New" color=green size=2><SPAN lang=EN-GB
style="FONT-SIZE: 10pt; COLOR: green; FONT-FAMILY: 'Courier New'">"Level 1
booking rule group"</SPAN></FONT><O:P></O:P></P><O:P></O:P>
<P class=MsoNormal><FONT face="Courier New" color=black size=2><SPAN
lang=EN-GB
style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Courier New'">
</SPAN></FONT><B><FONT face="Courier New" color=#960000 size=2><SPAN
lang=EN-GB
style="FONT-WEIGHT: bold; FONT-SIZE: 10pt; COLOR: #960000; FONT-FAMILY: 'Courier New'">when</SPAN></FONT></B><O:P></O:P></P><O:P></O:P>
<P class=MsoNormal><FONT face="Courier New" color=black size=2><SPAN
lang=EN-GB
style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Courier New'">
dealModel : MarketDealModel( $dealPortfolio : portfolio, $dealTrader :
trader, $dealProduct : product)</SPAN></FONT><O:P></O:P></P><O:P></O:P>
<P class=MsoNormal><FONT face="Courier New" color=black size=2><SPAN
lang=EN-GB
style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Courier New'">
</SPAN></FONT><FONT face="Courier New" color=olive size=2><SPAN lang=EN-GB
style="FONT-SIZE: 10pt; COLOR: olive; FONT-FAMILY: 'Courier New'">//
retrieve the ProductRelatedIndexes corresponding to the deal product (only
one by product) </SPAN></FONT><O:P></O:P></P><O:P></O:P>
<P class=MsoNormal><FONT face="Courier New" color=black size=2><SPAN
lang=EN-GB
style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Courier New'">
productRelatedIndexes : ProductRelatedIndexes( product.internalCode ==
$dealProduct.internalCode, $dealProductIndexes :
relatedIndexes)</SPAN></FONT><O:P></O:P></P><O:P></O:P>
<P class=MsoNormal><FONT face="Courier New" color=black size=2><SPAN
lang=EN-GB
style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Courier New'">
</SPAN></FONT><FONT face="Courier New" color=olive size=2><SPAN lang=EN-GB
style="FONT-SIZE: 10pt; COLOR: olive; FONT-FAMILY: 'Courier New'">// try to
find one and only one level 1 matching rule (level 1 <=> all matching
criteria are defined).</SPAN></FONT><O:P></O:P></P><O:P></O:P>
<P class=MsoNormal><FONT face="Courier New" color=black size=2><SPAN
lang=EN-GB
style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Courier New'">
bookingRuleModels : ArrayList( size == 1 ) </SPAN></FONT><B><FONT
face="Courier New" color=#960000 size=2><SPAN lang=EN-GB
style="FONT-WEIGHT: bold; FONT-SIZE: 10pt; COLOR: #960000; FONT-FAMILY: 'Courier New'">from</SPAN></FONT></B><FONT
face="Courier New" color=black size=2><SPAN lang=EN-GB
style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Courier New'">
</SPAN></FONT><B><FONT face="Courier New" color=#960000 size=2><SPAN
lang=EN-GB
style="FONT-WEIGHT: bold; FONT-SIZE: 10pt; COLOR: #960000; FONT-FAMILY: 'Courier New'">collect</SPAN></FONT></B><FONT
face="Courier New" color=black size=2><SPAN lang=EN-GB
style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Courier New'">
(</SPAN></FONT><O:P></O:P></P><O:P></O:P>
<P class=MsoNormal><FONT face="Courier New" color=black size=2><SPAN
lang=EN-GB
style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Courier New'">
BTExecutionBookingRuleModel(</SPAN></FONT><O:P></O:P></P><O:P></O:P>
<P class=MsoNormal><FONT face="Courier New" color=black size=2><SPAN
lang=EN-GB
style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Courier New'">
priority ==
BTExecutionBookingRuleModel.LEVEL_1</SPAN></FONT><O:P></O:P></P><O:P></O:P>
<P class=MsoNormal><FONT face="Courier New" color=black size=2><SPAN
lang=EN-GB
style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Courier New'">
&& </SPAN></FONT><B><FONT face="Courier New" color=#960000
size=2><SPAN lang=EN-GB
style="FONT-WEIGHT: bold; FONT-SIZE: 10pt; COLOR: #960000; FONT-FAMILY: 'Courier New'">eval</SPAN></FONT></B><FONT
face="Courier New" color=black size=2><SPAN lang=EN-GB
style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Courier New'">(matchTraderCriterion(traderCriterion,
$dealTrader))</SPAN></FONT><O:P></O:P></P><O:P></O:P>
<P class=MsoNormal><FONT face="Courier New" color=black size=2><SPAN
lang=EN-GB
style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Courier New'">
&& </SPAN></FONT><B><FONT face="Courier New" color=#960000
size=2><SPAN lang=EN-GB
style="FONT-WEIGHT: bold; FONT-SIZE: 10pt; COLOR: #960000; FONT-FAMILY: 'Courier New'">eval</SPAN></FONT></B><FONT
face="Courier New" color=black size=2><SPAN lang=EN-GB
style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Courier New'">(matchPortfolioCriterion(portfolioCriterion,
$dealPortfolio)) </SPAN></FONT><O:P></O:P></P><O:P></O:P>
<P class=MsoNormal><FONT face="Courier New" color=black size=2><SPAN
lang=EN-GB
style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Courier New'">
&& </SPAN></FONT><B><FONT face="Courier New" color=#960000
size=2><SPAN lang=EN-GB
style="FONT-WEIGHT: bold; FONT-SIZE: 10pt; COLOR: #960000; FONT-FAMILY: 'Courier New'">eval</SPAN></FONT></B><FONT
face="Courier New" color=black size=2><SPAN lang=EN-GB
style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Courier New'">(matchIndexCriterion(listedIndexCriterion,
$dealProductIndexes))</SPAN></FONT><O:P></O:P></P><O:P></O:P>
<P class=MsoNormal><FONT face="Courier New" color=black size=2><SPAN
lang=EN-GB
style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Courier New'">
&& </SPAN></FONT><B><FONT face="Courier New" color=#960000
size=2><SPAN lang=EN-GB
style="FONT-WEIGHT: bold; FONT-SIZE: 10pt; COLOR: #960000; FONT-FAMILY: 'Courier New'">eval</SPAN></FONT></B><FONT
face="Courier New" color=black size=2><SPAN lang=EN-GB
style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Courier New'">(matchProductTypeCriterion(productTypeStringCriterion,
$dealProduct)) </SPAN></FONT><O:P></O:P></P><O:P></O:P>
<P class=MsoNormal><FONT face="Courier New" color=black size=2><SPAN
lang=EN-GB
style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Courier New'">
)</SPAN></FONT><O:P></O:P></P><O:P></O:P>
<P class=MsoNormal><FONT face="Courier New" color=black size=2><SPAN
lang=EN-GB
style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Courier New'">
)</SPAN></FONT><O:P></O:P></P><O:P></O:P>
<P class=MsoNormal><FONT face="Courier New" color=black size=2><SPAN
lang=EN-GB
style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Courier New'">
</SPAN></FONT><B><FONT face="Courier New" color=#960000 size=2><SPAN
lang=EN-GB
style="FONT-WEIGHT: bold; FONT-SIZE: 10pt; COLOR: #960000; FONT-FAMILY: 'Courier New'">then</SPAN></FONT></B><O:P></O:P></P><O:P></O:P>
<P class=MsoNormal><FONT face="Courier New" color=black size=2><SPAN
lang=EN-GB
style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Courier New'">
Logger log = LoggerFactory.getLogger(</SPAN></FONT><FONT face="Courier New"
color=green size=2><SPAN lang=EN-GB
style="FONT-SIZE: 10pt; COLOR: green; FONT-FAMILY: 'Courier New'">"BOOKING
RULE ENGINE LOGGER"</SPAN></FONT><FONT face="Courier New" color=black
size=2><SPAN lang=EN-GB
style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Courier New'">);</SPAN></FONT><O:P></O:P></P><O:P></O:P>
<P class=MsoNormal><FONT face="Courier New" color=black size=2><SPAN
lang=EN-GB
style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Courier New'">
</SPAN></FONT><FONT face="Courier New" color=olive size=2><SPAN lang=EN-GB
style="FONT-SIZE: 10pt; COLOR: olive; FONT-FAMILY: 'Courier New'">// get the
unique collected bookingRuleModel. </SPAN></FONT><O:P></O:P></P><O:P></O:P>
<P class=MsoNormal><FONT face="Courier New" color=black size=2><SPAN
lang=EN-GB
style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Courier New'">
BTExecutionBookingRuleModel effectiveBookingRuleModel =
(BTExecutionBookingRuleModel)
bookingRuleModels.get(0);</SPAN></FONT><O:P></O:P></P><O:P></O:P>
<P class=MsoNormal><FONT face="Courier New" color=black size=2><SPAN
lang=EN-GB
style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Courier New'">
</SPAN></FONT><FONT face="Courier New" color=olive size=2><SPAN lang=EN-GB
style="FONT-SIZE: 10pt; COLOR: olive; FONT-FAMILY: 'Courier New'">//
log.info("Found matching level 1 booking rule --> " +
effectiveBookingRuleModel);</SPAN></FONT><O:P></O:P></P><O:P></O:P>
<P class=MsoNormal><FONT face="Courier New" color=black size=2><SPAN
lang=EN-GB
style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Courier New'">
effectiveBookingRuleModel.applyRuleOnDeal(dealModel);</SPAN></FONT><O:P></O:P></P><O:P></O:P>
<P class=MsoNormal><FONT face="Courier New" color=black size=2><SPAN
lang=EN-GB
style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Courier New'">
</SPAN></FONT><B><FONT face="Courier New" color=#960000 size=2><SPAN
lang=EN-GB
style="FONT-WEIGHT: bold; FONT-SIZE: 10pt; COLOR: #960000; FONT-FAMILY: 'Courier New'">retract</SPAN></FONT></B><FONT
face="Courier New" color=black size=2><SPAN lang=EN-GB
style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Courier New'">(
dealModel ); </SPAN></FONT><FONT face="Courier New" color=olive
size=2><SPAN lang=EN-GB
style="FONT-SIZE: 10pt; COLOR: olive; FONT-FAMILY: 'Courier New'">// only
needed in use of stateful session to avoid processing this deal
again.</SPAN></FONT><O:P></O:P></P><O:P></O:P>
<P class=MsoNormal><B><FONT face="Courier New" color=#960000 size=2><SPAN
style="FONT-WEIGHT: bold; FONT-SIZE: 10pt; COLOR: #960000; FONT-FAMILY: 'Courier New'">end</SPAN></FONT></B><O:P></O:P></P><O:P></O:P>
<P class=MsoNormal><FONT face=Verdana size=2><SPAN lang=EN-GB
style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana"><O:P></O:P>I don’t put the 3
others, they are basically the same except the </SPAN></FONT><FONT
face="Courier New" color=black size=2><SPAN lang=EN-GB
style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Courier New'">priority
== BTExecutionBookingRuleModel.LEVEL_1 which is done against LEVEL_2,
LEVEL_3 and LEVEL_4 rule.</SPAN></FONT><O:P></O:P></P><O:P></O:P>
<P class=MsoNormal><FONT face=Verdana size=2><SPAN lang=EN-GB
style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana">Each rule is in his own
ruleflow-group, it is very basic, if first drools rule is not active then we
try the second (with compares </SPAN></FONT><FONT face="Courier New"
color=black size=2><SPAN lang=EN-GB
style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Courier New'">priority
to
BTExecutionBookingRuleModel.LEVEL_2).</SPAN></FONT><O:P></O:P></P><O:P></O:P>
<P class=MsoNormal><FONT face=Verdana size=2><SPAN lang=EN-GB
style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana"><O:P></O:P>I also put some
logs showing that inserting deals fact takes longer and longer :
<O:P></O:P></SPAN></FONT><O:P></O:P></P>
<P class=MsoNormal><FONT face=Verdana size=2><SPAN lang=EN-GB
style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana">- the 222 booking rule are
inserted in 16ms<O:P></O:P></SPAN></FONT><O:P></O:P></P>
<P class=MsoNormal><FONT face=Verdana size=2><SPAN lang=EN-GB
style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana">- the 750 booking rule are
inserted in 46ms<O:P></O:P></SPAN></FONT><O:P></O:P></P>
<P class=MsoNormal><FONT face=Verdana size=2><SPAN lang=EN-GB
style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana">- the 750 facts are inserted
at a pace of 5 by second, then it starts to deteriorate to several seconds
for one insert to finish with the
OutOfMemoryError.<O:P></O:P></SPAN></FONT><O:P></O:P></P>
<P class=MsoNormal><FONT face="Courier New" color=black size=2><SPAN
lang=EN-GB
style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Courier New'"><O:P></O:P>2009-09-11
09:46:50 134 INFO [booking.impl.DealBookingProcessorImpl] 658
MarketDealModel inserted in Drools session
</SPAN></FONT><O:P></O:P></P><O:P></O:P>
<P class=MsoNormal><FONT face="Courier New" color=black size=2><SPAN
lang=EN-GB
style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Courier New'">2009-09-11
09:46:50 244 INFO [booking.impl.DealBookingProcessorImpl] 659
MarketDealModel inserted in Drools session
</SPAN></FONT><O:P></O:P></P><O:P></O:P>
<P class=MsoNormal><FONT face="Courier New" color=black size=2><SPAN
lang=EN-GB
style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Courier New'">2009-09-11
09:46:50 369 INFO [booking.impl.DealBookingProcessorImpl] 660
MarketDealModel inserted in Drools session
</SPAN></FONT><O:P></O:P></P><O:P></O:P>
<P class=MsoNormal><FONT face="Courier New" color=black size=2><SPAN
lang=EN-GB
style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Courier New'">2009-09-11
09:46:51 197 INFO [booking.impl.DealBookingProcessorImpl] 661
MarketDealModel inserted in Drools session
</SPAN></FONT><O:P></O:P></P><O:P></O:P>
<P class=MsoNormal><FONT face="Courier New" color=black size=2><SPAN
lang=EN-GB
style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Courier New'">2009-09-11
09:46:51 306 INFO [booking.impl.DealBookingProcessorImpl] 662
MarketDealModel inserted in Drools session
</SPAN></FONT><O:P></O:P></P><O:P></O:P>
<P class=MsoNormal><FONT face="Courier New" color=black size=2><SPAN
lang=EN-GB
style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Courier New'">2009-09-11
09:46:51 540 INFO [booking.impl.DealBookingProcessorImpl] 663
MarketDealModel inserted in Drools session
</SPAN></FONT><O:P></O:P></P><O:P></O:P>
<P class=MsoNormal><FONT face="Courier New" color=black size=2><SPAN
lang=EN-GB
style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Courier New'">2009-09-11
09:46:51 650 INFO [booking.impl.DealBookingProcessorImpl] 664
MarketDealModel inserted in Drools session
</SPAN></FONT><O:P></O:P></P><O:P></O:P>
<P class=MsoNormal><FONT face="Courier New" color=black size=2><SPAN
lang=EN-GB
style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Courier New'">2009-09-11
09:46:51 775 INFO [booking.impl.DealBookingProcessorImpl] 665
MarketDealModel inserted in Drools session
</SPAN></FONT><O:P></O:P></P><O:P></O:P>
<P class=MsoNormal><FONT face="Courier New" color=black size=2><SPAN
lang=EN-GB
style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Courier New'">2009-09-11
09:46:51 884 INFO [booking.impl.DealBookingProcessorImpl] 666
MarketDealModel inserted in Drools session
</SPAN></FONT><O:P></O:P></P><O:P></O:P>
<P class=MsoNormal><FONT face="Courier New" color=black size=2><SPAN
lang=EN-GB
style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Courier New'">2009-09-11
09:46:52 009 INFO [booking.impl.DealBookingProcessorImpl] 667
MarketDealModel inserted in Drools session
</SPAN></FONT><O:P></O:P></P><O:P></O:P>
<P class=MsoNormal><FONT face="Courier New" color=black size=2><SPAN
lang=EN-GB
style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Courier New'">2009-09-11
09:46:52 134 INFO [booking.impl.DealBookingProcessorImpl] 668
MarketDealModel inserted in Drools session
</SPAN></FONT><O:P></O:P></P><O:P></O:P>
<P class=MsoNormal><FONT face="Courier New" color=black size=2><SPAN
lang=EN-GB
style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Courier New'">2009-09-11
09:46:52 243 INFO [booking.impl.DealBookingProcessorImpl] 669
MarketDealModel inserted in Drools session
</SPAN></FONT><O:P></O:P></P><O:P></O:P>
<P class=MsoNormal><FONT face="Courier New" color=black size=2><SPAN
lang=EN-GB
style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Courier New'">2009-09-11
09:46:52 368 INFO [booking.impl.DealBookingProcessorImpl] 670
MarketDealModel inserted in Drools session
</SPAN></FONT><O:P></O:P></P><O:P></O:P>
<P class=MsoNormal><FONT face="Courier New" color=black size=2><SPAN
lang=EN-GB
style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Courier New'">2009-09-11
09:47:32 784 INFO [booking.impl.DealBookingProcessorImpl] 671
MarketDealModel inserted in Drools session
</SPAN></FONT><O:P></O:P></P><O:P></O:P>
<P class=MsoNormal><FONT face="Courier New" color=black size=2><SPAN
lang=EN-GB
style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Courier New'">2009-09-11
09:47:33 003 INFO [booking.impl.DealBookingProcessorImpl] 672
MarketDealModel inserted in Drools session
</SPAN></FONT><O:P></O:P></P><O:P></O:P>
<P class=MsoNormal><FONT face="Courier New" color=black size=2><SPAN
lang=EN-GB
style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Courier New'">2009-09-11
09:47:33 128 INFO [booking.impl.DealBookingProcessorImpl] 673
MarketDealModel inserted in Drools session
</SPAN></FONT><O:P></O:P></P><O:P></O:P>
<P class=MsoNormal><FONT face="Courier New" color=black size=2><SPAN
lang=EN-GB
style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Courier New'">2009-09-11
09:47:33 253 INFO [booking.impl.DealBookingProcessorImpl] 674
MarketDealModel inserted in Drools session
</SPAN></FONT><O:P></O:P></P><O:P></O:P>
<P class=MsoNormal><FONT face="Courier New" color=black size=2><SPAN
lang=EN-GB
style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Courier New'">2009-09-11
09:47:33 362 INFO [booking.impl.DealBookingProcessorImpl] 675
MarketDealModel inserted in Drools session
</SPAN></FONT><O:P></O:P></P><O:P></O:P>
<P class=MsoNormal><FONT face="Courier New" color=black size=2><SPAN
lang=EN-GB
style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Courier New'">2009-09-11
09:47:33 487 INFO [booking.impl.DealBookingProcessorImpl] 676
MarketDealModel inserted in Drools session
</SPAN></FONT><O:P></O:P></P><O:P></O:P>
<P class=MsoNormal><FONT face="Courier New" color=black size=2><SPAN
lang=EN-GB
style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Courier New'">2009-09-11
09:47:33 596 INFO [booking.impl.DealBookingProcessorImpl] 677
MarketDealModel inserted in Drools session
</SPAN></FONT><O:P></O:P></P><O:P></O:P>
<P class=MsoNormal><FONT face="Courier New" color=black size=2><SPAN
lang=EN-GB
style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Courier New'">2009-09-11
09:47:33 721 INFO [booking.impl.DealBookingProcessorImpl] 678
MarketDealModel inserted in Drools session
</SPAN></FONT><O:P></O:P></P><O:P></O:P>
<P class=MsoNormal><FONT face="Courier New" color=black size=2><SPAN
lang=EN-GB
style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Courier New'">2009-09-11
09:47:33 831 INFO [booking.impl.DealBookingProcessorImpl] 679
MarketDealModel inserted in Drools session
</SPAN></FONT><O:P></O:P></P><O:P></O:P>
<P class=MsoNormal><FONT face="Courier New" color=black size=2><SPAN
lang=EN-GB
style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Courier New'">2009-09-11
09:47:33 956 INFO [booking.impl.DealBookingProcessorImpl] 680
MarketDealModel inserted in Drools session
</SPAN></FONT><O:P></O:P></P><O:P></O:P>
<P class=MsoNormal><FONT face="Courier New" color=black size=2><SPAN
lang=EN-GB
style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Courier New'">2009-09-11
09:47:34 128 INFO [booking.impl.DealBookingProcessorImpl] 681
MarketDealModel inserted in Drools session
</SPAN></FONT><O:P></O:P></P><O:P></O:P>
<P class=MsoNormal><FONT face="Courier New" color=black size=2><SPAN
lang=EN-GB
style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Courier New'">2009-09-11
09:47:56 218 INFO [booking.impl.DealBookingProcessorImpl] 682
MarketDealModel inserted in Drools session
</SPAN></FONT><O:P></O:P></P><O:P></O:P>
<P class=MsoNormal><FONT face="Courier New" color=black size=2><SPAN
lang=EN-GB
style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Courier New'">2009-09-11
09:47:56 374 INFO [booking.impl.DealBookingProcessorImpl] 683
MarketDealModel inserted in Drools session
</SPAN></FONT><O:P></O:P></P><O:P></O:P>
<P class=MsoNormal><FONT face="Courier New" color=black size=2><SPAN
lang=EN-GB
style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Courier New'">2009-09-11
09:47:56 483 INFO [booking.impl.DealBookingProcessorImpl] 684
MarketDealModel inserted in Drools session
</SPAN></FONT><O:P></O:P></P><O:P></O:P>
<P class=MsoNormal><FONT face="Courier New" color=black size=2><SPAN
lang=EN-GB
style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Courier New'">2009-09-11
09:47:56 608 INFO [booking.impl.DealBookingProcessorImpl] 685
MarketDealModel inserted in Drools session
</SPAN></FONT><O:P></O:P></P><O:P></O:P>
<P class=MsoNormal><FONT face="Courier New" color=black size=2><SPAN
lang=EN-GB
style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Courier New'">2009-09-11
09:47:56 733 INFO [booking.impl.DealBookingProcessorImpl] 686
MarketDealModel inserted in Drools session
</SPAN></FONT><O:P></O:P></P><O:P></O:P>
<P class=MsoNormal><FONT face="Courier New" color=black size=2><SPAN
lang=EN-GB
style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Courier New'">2009-09-11
09:47:56 858 INFO [booking.impl.DealBookingProcessorImpl] 687
MarketDealModel inserted in Drools session
</SPAN></FONT><O:P></O:P></P><O:P></O:P>
<P class=MsoNormal><FONT face="Courier New" color=black size=2><SPAN
lang=EN-GB
style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Courier New'">2009-09-11
09:47:56 968 INFO [booking.impl.DealBookingProcessorImpl] 688
MarketDealModel inserted in Drools session
</SPAN></FONT><O:P></O:P></P><O:P></O:P>
<P class=MsoNormal><FONT face="Courier New" color=black size=2><SPAN
lang=EN-GB
style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Courier New'">2009-09-11
09:47:57 093 INFO [booking.impl.DealBookingProcessorImpl] 689
MarketDealModel inserted in Drools session
</SPAN></FONT><O:P></O:P></P><O:P></O:P>
<P class=MsoNormal><FONT face="Courier New" color=black size=2><SPAN
lang=EN-GB
style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Courier New'">2009-09-11
09:47:57 218 INFO [booking.impl.DealBookingProcessorImpl] 690
MarketDealModel inserted in Drools session
</SPAN></FONT><O:P></O:P></P><O:P></O:P>
<P class=MsoNormal><FONT face="Courier New" color=black size=2><SPAN
lang=EN-GB
style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Courier New'">2009-09-11
09:47:57 421 INFO [booking.impl.DealBookingProcessorImpl] 691
MarketDealModel inserted in Drools session
</SPAN></FONT><O:P></O:P></P><O:P></O:P>
<P class=MsoNormal><FONT face="Courier New" color=black size=2><SPAN
lang=EN-GB
style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Courier New'">2009-09-11
09:48:05 404 INFO [booking.impl.DealBookingProcessorImpl] 692
MarketDealModel inserted in Drools session
</SPAN></FONT><O:P></O:P></P><O:P></O:P>
<P class=MsoNormal><FONT face="Courier New" color=black size=2><SPAN
lang=EN-GB
style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Courier New'">2009-09-11
09:48:05 529 INFO [booking.impl.DealBookingProcessorImpl] 693
MarketDealModel inserted in Drools session
</SPAN></FONT><O:P></O:P></P><O:P></O:P>
<P class=MsoNormal><FONT face="Courier New" color=black size=2><SPAN
lang=EN-GB
style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Courier New'">2009-09-11
09:48:05 654 INFO [booking.impl.DealBookingProcessorImpl] 694
MarketDealModel inserted in Drools session
</SPAN></FONT><O:P></O:P></P><O:P></O:P>
<P class=MsoNormal><FONT face="Courier New" color=black size=2><SPAN
lang=EN-GB
style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Courier New'">2009-09-11
09:48:05 763 INFO [booking.impl.DealBookingProcessorImpl] 695
MarketDealModel inserted in Drools session
</SPAN></FONT><O:P></O:P></P><O:P></O:P>
<P class=MsoNormal><FONT face="Courier New" color=black size=2><SPAN
lang=EN-GB
style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Courier New'">2009-09-11
09:48:05 888 INFO [booking.impl.DealBookingProcessorImpl] 696
MarketDealModel inserted in Drools session
</SPAN></FONT><O:P></O:P></P><O:P></O:P>
<P class=MsoNormal><FONT face="Courier New" color=black size=2><SPAN
lang=EN-GB
style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Courier New'">2009-09-11
09:48:05 998 INFO [booking.impl.DealBookingProcessorImpl] 697
MarketDealModel inserted in Drools session
</SPAN></FONT><O:P></O:P></P><O:P></O:P>
<P class=MsoNormal><FONT face="Courier New" color=black size=2><SPAN
lang=EN-GB
style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Courier New'">2009-09-11
09:48:06 123 INFO [booking.impl.DealBookingProcessorImpl] 698
MarketDealModel inserted in Drools session
</SPAN></FONT><O:P></O:P></P><O:P></O:P>
<P class=MsoNormal><FONT face="Courier New" color=black size=2><SPAN
lang=EN-GB
style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Courier New'">2009-09-11
09:48:06 357 INFO [booking.impl.DealBookingProcessorImpl] 699
MarketDealModel inserted in Drools session
</SPAN></FONT><O:P></O:P></P><O:P></O:P>
<P class=MsoNormal><FONT face="Courier New" color=black size=2><SPAN
lang=EN-GB
style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Courier New'">2009-09-11
09:48:14 184 INFO [booking.impl.DealBookingProcessorImpl] 700
MarketDealModel inserted in Drools session
</SPAN></FONT><O:P></O:P></P><O:P></O:P>
<P class=MsoNormal><FONT face="Courier New" color=black size=2><SPAN
lang=EN-GB
style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Courier New'">2009-09-11
09:48:14 293 INFO [booking.impl.DealBookingProcessorImpl] 701
MarketDealModel inserted in Drools session
</SPAN></FONT><O:P></O:P></P><O:P></O:P>
<P class=MsoNormal><FONT face="Courier New" color=black size=2><SPAN
lang=EN-GB
style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Courier New'">2009-09-11
09:48:14 418 INFO [booking.impl.DealBookingProcessorImpl] 702
MarketDealModel inserted in Drools session
</SPAN></FONT><O:P></O:P></P><O:P></O:P>
<P class=MsoNormal><FONT face="Courier New" color=black size=2><SPAN
lang=EN-GB
style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Courier New'">2009-09-11
09:48:14 543 INFO [booking.impl.DealBookingProcessorImpl] 703
MarketDealModel inserted in Drools session
</SPAN></FONT><O:P></O:P></P><O:P></O:P>
<P class=MsoNormal><FONT face="Courier New" color=black size=2><SPAN
lang=EN-GB
style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Courier New'">2009-09-11
09:48:14 668 INFO [booking.impl.DealBookingProcessorImpl] 704
MarketDealModel inserted in Drools session
</SPAN></FONT><O:P></O:P></P><O:P></O:P>
<P class=MsoNormal><FONT face="Courier New" color=black size=2><SPAN
lang=EN-GB
style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Courier New'">2009-09-11
09:48:14 856 INFO [booking.impl.DealBookingProcessorImpl] 705
MarketDealModel inserted in Drools session
</SPAN></FONT><O:P></O:P></P><O:P></O:P>
<P class=MsoNormal><FONT face="Courier New" color=black size=2><SPAN
lang=EN-GB
style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Courier New'">2009-09-11
09:48:22 761 INFO [booking.impl.DealBookingProcessorImpl] 706
MarketDealModel inserted in Drools session
</SPAN></FONT><O:P></O:P></P><O:P></O:P>
<P class=MsoNormal><FONT face="Courier New" color=black size=2><SPAN
lang=EN-GB
style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Courier New'">2009-09-11
09:48:22 886 INFO [booking.impl.DealBookingProcessorImpl] 707
MarketDealModel inserted in Drools session
</SPAN></FONT><O:P></O:P></P><O:P></O:P>
<P class=MsoNormal><FONT face="Courier New" color=black size=2><SPAN
lang=EN-GB
style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Courier New'">2009-09-11
09:48:22 995 INFO [booking.impl.DealBookingProcessorImpl] 708
MarketDealModel inserted in Drools session
</SPAN></FONT><O:P></O:P></P><O:P></O:P>
<P class=MsoNormal><FONT face="Courier New" color=black size=2><SPAN
lang=EN-GB
style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Courier New'">2009-09-11
09:48:23 120 INFO [booking.impl.DealBookingProcessorImpl] 709
MarketDealModel inserted in Drools session
</SPAN></FONT><O:P></O:P></P><O:P></O:P>
<P class=MsoNormal><FONT face="Courier New" color=black size=2><SPAN
lang=EN-GB
style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Courier New'">2009-09-11
09:48:23 323 INFO [booking.impl.DealBookingProcessorImpl] 710
MarketDealModel inserted in Drools session
</SPAN></FONT><O:P></O:P></P><O:P></O:P>
<P class=MsoNormal><FONT face="Courier New" color=black size=2><SPAN
lang=EN-GB
style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Courier New'">2009-09-11
09:48:32 166 INFO [booking.impl.DealBookingProcessorImpl] 711
MarketDealModel inserted in Drools session
</SPAN></FONT><O:P></O:P></P><O:P></O:P>
<P class=MsoNormal><FONT face="Courier New" color=black size=2><SPAN
lang=EN-GB
style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Courier New'">2009-09-11
09:48:32 290 INFO [booking.impl.DealBookingProcessorImpl] 712
MarketDealModel inserted in Drools session
</SPAN></FONT><O:P></O:P></P><O:P></O:P>
<P class=MsoNormal><FONT face="Courier New" color=black size=2><SPAN
lang=EN-GB
style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Courier New'">2009-09-11
09:48:32 400 INFO [booking.impl.DealBookingProcessorImpl] 713
MarketDealModel inserted in Drools session
</SPAN></FONT><O:P></O:P></P><O:P></O:P>
<P class=MsoNormal><FONT face="Courier New" color=black size=2><SPAN
lang=EN-GB
style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Courier New'">2009-09-11
09:48:32 634 INFO [booking.impl.DealBookingProcessorImpl] 714
MarketDealModel inserted in Drools session
</SPAN></FONT><O:P></O:P></P><O:P></O:P>
<P class=MsoNormal><FONT face="Courier New" color=black size=2><SPAN
lang=EN-GB
style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Courier New'">2009-09-11
09:48:40 570 INFO [booking.impl.DealBookingProcessorImpl] 715
MarketDealModel inserted in Drools session
</SPAN></FONT><O:P></O:P></P><O:P></O:P>
<P class=MsoNormal><FONT face="Courier New" color=black size=2><SPAN
lang=EN-GB
style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Courier New'">2009-09-11
09:48:40 695 INFO [booking.impl.DealBookingProcessorImpl] 716
MarketDealModel inserted in Drools session
</SPAN></FONT><O:P></O:P></P><O:P></O:P>
<P class=MsoNormal><FONT face="Courier New" color=black size=2><SPAN
lang=EN-GB
style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Courier New'">2009-09-11
09:48:40 899 INFO [booking.impl.DealBookingProcessorImpl] 717
MarketDealModel inserted in Drools session
</SPAN></FONT><O:P></O:P></P><O:P></O:P>
<P class=MsoNormal><FONT face="Courier New" color=black size=2><SPAN
lang=EN-GB
style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Courier New'">2009-09-11
09:48:48 850 INFO [booking.impl.DealBookingProcessorImpl] 718
MarketDealModel inserted in Drools session
</SPAN></FONT><O:P></O:P></P><O:P></O:P>
<P class=MsoNormal><FONT face="Courier New" color=black size=2><SPAN
lang=EN-GB
style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Courier New'">2009-09-11
09:48:48 975 INFO [booking.impl.DealBookingProcessorImpl] 719
MarketDealModel inserted in Drools session
</SPAN></FONT><O:P></O:P></P><O:P></O:P>
<P class=MsoNormal><FONT face="Courier New" color=black size=2><SPAN
lang=EN-GB
style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Courier New'">2009-09-11
09:48:49 272 INFO [booking.impl.DealBookingProcessorImpl] 720
MarketDealModel inserted in Drools session
</SPAN></FONT><O:P></O:P></P><O:P></O:P>
<P class=MsoNormal><FONT face="Courier New" color=black size=2><SPAN
lang=EN-GB
style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Courier New'">2009-09-11
09:48:57 209 INFO [booking.impl.DealBookingProcessorImpl] 721
MarketDealModel inserted in Drools session
</SPAN></FONT><O:P></O:P></P><O:P></O:P>
<P class=MsoNormal><FONT face="Courier New" color=black size=2><SPAN
lang=EN-GB
style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Courier New'">2009-09-11
09:48:57 505 INFO [booking.impl.DealBookingProcessorImpl] 722
MarketDealModel inserted in Drools session
</SPAN></FONT><O:P></O:P></P><O:P></O:P>
<P class=MsoNormal><FONT face="Courier New" color=black size=2><SPAN
lang=EN-GB
style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Courier New'">2009-09-11
09:49:05 598 INFO [booking.impl.DealBookingProcessorImpl] 723
MarketDealModel inserted in Drools session
</SPAN></FONT><O:P></O:P></P><O:P></O:P>
<P class=MsoNormal><FONT face="Courier New" color=black size=2><SPAN
lang=EN-GB
style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Courier New'">2009-09-11
09:49:13 722 INFO [booking.impl.DealBookingProcessorImpl] 724
MarketDealModel inserted in Drools session
</SPAN></FONT><O:P></O:P></P><O:P></O:P>
<P class=MsoNormal><FONT face="Courier New" color=black size=2><SPAN
lang=EN-GB
style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Courier New'">2009-09-11
09:49:21 752 INFO [booking.impl.DealBookingProcessorImpl] 725
MarketDealModel inserted in Drools session
</SPAN></FONT><O:P></O:P></P><O:P></O:P>
<P class=MsoNormal><FONT face="Courier New" color=black size=2><SPAN
lang=EN-GB
style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Courier New'">2009-09-11
09:49:29 813 INFO [booking.impl.DealBookingProcessorImpl] 726
MarketDealModel inserted in Drools session
</SPAN></FONT><O:P></O:P></P><O:P></O:P>
<P class=MsoNormal><FONT face="Courier New" color=black size=2><SPAN
lang=EN-GB
style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Courier New'">2009-09-11
09:49:37 921 INFO [booking.impl.DealBookingProcessorImpl] 727
MarketDealModel inserted in Drools session
</SPAN></FONT><O:P></O:P></P><O:P></O:P>
<P class=MsoNormal><FONT face="Courier New" color=black size=2><SPAN
lang=EN-GB
style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Courier New'">2009-09-11
09:49:53 809 INFO [booking.impl.DealBookingProcessorImpl] 728
MarketDealModel inserted in Drools session
</SPAN></FONT><O:P></O:P></P><O:P></O:P>
<P class=MsoNormal><FONT face="Courier New" color=black size=2><SPAN
lang=EN-GB
style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Courier New'">2009-09-11
09:50:26 507 INFO [booking.impl.DealBookingProcessorImpl] 729
MarketDealModel inserted in Drools session
</SPAN></FONT><O:P></O:P></P><O:P></O:P>
<P class=MsoNormal><FONT face="Courier New" color=red size=2><SPAN
lang=EN-GB
style="FONT-SIZE: 10pt; COLOR: red; FONT-FAMILY: 'Courier New'">Exception in
thread "Timer-0" java.lang.OutOfMemoryError: Java heap
space</SPAN></FONT><O:P></O:P></P><O:P></O:P>
<P class=MsoNormal><FONT face="Courier New" color=red size=2><SPAN
lang=EN-GB
style="FONT-SIZE: 10pt; COLOR: red; FONT-FAMILY: 'Courier New'">
at java.lang.Object.clone(</SPAN></FONT><U><FONT face="Courier New"
color=navy size=2><SPAN lang=EN-GB
style="FONT-SIZE: 10pt; COLOR: navy; FONT-FAMILY: 'Courier New'">Native
Method</SPAN></FONT></U><FONT face="Courier New" color=red size=2><SPAN
lang=EN-GB
style="FONT-SIZE: 10pt; COLOR: red; FONT-FAMILY: 'Courier New'">)</SPAN></FONT><O:P></O:P></P><O:P></O:P>
<P class=MsoNormal><FONT face="Courier New" color=red size=2><SPAN
lang=EN-GB
style="FONT-SIZE: 10pt; COLOR: red; FONT-FAMILY: 'Courier New'">
at java.util.LinkedList.clone(</SPAN></FONT><U><FONT face="Courier New"
color=navy size=2><SPAN lang=EN-GB
style="FONT-SIZE: 10pt; COLOR: navy; FONT-FAMILY: 'Courier New'">LinkedList.java:830</SPAN></FONT></U><FONT
face="Courier New" color=red size=2><SPAN lang=EN-GB
style="FONT-SIZE: 10pt; COLOR: red; FONT-FAMILY: 'Courier New'">)</SPAN></FONT><O:P></O:P></P><O:P></O:P>
<P class=MsoNormal><FONT face="Courier New" color=red size=2><SPAN
lang=EN-GB
style="FONT-SIZE: 10pt; COLOR: red; FONT-FAMILY: 'Courier New'">
at
com.mchange.v2.resourcepool.BasicResourcePool.cloneOfUnused(</SPAN></FONT><U><FONT
face="Courier New" color=navy size=2><SPAN lang=EN-GB
style="FONT-SIZE: 10pt; COLOR: navy; FONT-FAMILY: 'Courier New'">BasicResourcePool.java:1661</SPAN></FONT></U><FONT
face="Courier New" color=red size=2><SPAN lang=EN-GB
style="FONT-SIZE: 10pt; COLOR: red; FONT-FAMILY: 'Courier New'">)</SPAN></FONT><O:P></O:P></P><O:P></O:P>
<P class=MsoNormal><FONT face="Courier New" color=red size=2><SPAN
lang=EN-GB
style="FONT-SIZE: 10pt; COLOR: red; FONT-FAMILY: 'Courier New'">
at
com.mchange.v2.resourcepool.BasicResourcePool.cullExpired(</SPAN></FONT><U><FONT
face="Courier New" color=navy size=2><SPAN lang=EN-GB
style="FONT-SIZE: 10pt; COLOR: navy; FONT-FAMILY: 'Courier New'">BasicResourcePool.java:1450</SPAN></FONT></U><FONT
face="Courier New" color=red size=2><SPAN lang=EN-GB
style="FONT-SIZE: 10pt; COLOR: red; FONT-FAMILY: 'Courier New'">)</SPAN></FONT><O:P></O:P></P><O:P></O:P>
<P class=MsoNormal><FONT face="Courier New" color=red size=2><SPAN
lang=EN-GB
style="FONT-SIZE: 10pt; COLOR: red; FONT-FAMILY: 'Courier New'">
at
com.mchange.v2.resourcepool.BasicResourcePool.access$1900(</SPAN></FONT><U><FONT
face="Courier New" color=navy size=2><SPAN lang=EN-GB
style="FONT-SIZE: 10pt; COLOR: navy; FONT-FAMILY: 'Courier New'">BasicResourcePool.java:32</SPAN></FONT></U><FONT
face="Courier New" color=red size=2><SPAN lang=EN-GB
style="FONT-SIZE: 10pt; COLOR: red; FONT-FAMILY: 'Courier New'">)</SPAN></FONT><O:P></O:P></P><O:P></O:P>
<P class=MsoNormal><FONT face="Courier New" color=red size=2><SPAN
lang=EN-GB
style="FONT-SIZE: 10pt; COLOR: red; FONT-FAMILY: 'Courier New'">
at
com.mchange.v2.resourcepool.BasicResourcePool$CullTask.run(</SPAN></FONT><U><FONT
face="Courier New" color=navy size=2><SPAN lang=EN-GB
style="FONT-SIZE: 10pt; COLOR: navy; FONT-FAMILY: 'Courier New'">BasicResourcePool.java:1937</SPAN></FONT></U><FONT
face="Courier New" color=red size=2><SPAN lang=EN-GB
style="FONT-SIZE: 10pt; COLOR: red; FONT-FAMILY: 'Courier New'">)</SPAN></FONT><O:P></O:P></P><O:P></O:P>
<P class=MsoNormal><FONT face="Courier New" color=red size=2><SPAN
lang=EN-GB
style="FONT-SIZE: 10pt; COLOR: red; FONT-FAMILY: 'Courier New'">
at java.util.TimerThread.mainLoop(</SPAN></FONT><U><FONT face="Courier New"
color=navy size=2><SPAN lang=EN-GB
style="FONT-SIZE: 10pt; COLOR: navy; FONT-FAMILY: 'Courier New'">Timer.java:512</SPAN></FONT></U><FONT
face="Courier New" color=red size=2><SPAN lang=EN-GB
style="FONT-SIZE: 10pt; COLOR: red; FONT-FAMILY: 'Courier New'">)</SPAN></FONT><O:P></O:P></P><O:P></O:P>
<P class=MsoNormal><FONT face="Courier New" color=red size=2><SPAN
lang=EN-GB
style="FONT-SIZE: 10pt; COLOR: red; FONT-FAMILY: 'Courier New'">
at java.util.TimerThread.run(</SPAN></FONT><U><FONT face="Courier New"
color=navy size=2><SPAN lang=EN-GB
style="FONT-SIZE: 10pt; COLOR: navy; FONT-FAMILY: 'Courier New'">Timer.java:462</SPAN></FONT></U><FONT
face="Courier New" color=red size=2><SPAN lang=EN-GB
style="FONT-SIZE: 10pt; COLOR: red; FONT-FAMILY: 'Courier New'">)</SPAN></FONT><O:P></O:P></P><O:P></O:P>
<P class=MsoNormal><FONT face="Courier New" color=red size=2><SPAN
lang=EN-GB
style="FONT-SIZE: 10pt; COLOR: red; FONT-FAMILY: 'Courier New'">Exception in
thread "Ice.ThreadPool.Server-1" java.lang.OutOfMemoryError: Java heap
space</SPAN></FONT><O:P></O:P></P><O:P></O:P>
<P class=MsoNormal><FONT face="Courier New" color=red size=2><SPAN
lang=EN-GB
style="FONT-SIZE: 10pt; COLOR: red; FONT-FAMILY: 'Courier New'">
at
org.mvel2.integration.impl.ClassImportResolverFactory.<init>(</SPAN></FONT><U><FONT
face="Courier New" color=navy size=2><SPAN lang=EN-GB
style="FONT-SIZE: 10pt; COLOR: navy; FONT-FAMILY: 'Courier New'">ClassImportResolverFactory.java:49</SPAN></FONT></U><FONT
face="Courier New" color=red size=2><SPAN lang=EN-GB
style="FONT-SIZE: 10pt; COLOR: red; FONT-FAMILY: 'Courier New'">)</SPAN></FONT><O:P></O:P></P><O:P></O:P>
<P class=MsoNormal><FONT face="Courier New" color=red size=2><SPAN
lang=EN-GB
style="FONT-SIZE: 10pt; COLOR: red; FONT-FAMILY: 'Courier New'">
at org.mvel2.compiler.CompiledExpression.getValue(</SPAN></FONT><U><FONT
face="Courier New" color=navy size=2><SPAN lang=EN-GB
style="FONT-SIZE: 10pt; COLOR: navy; FONT-FAMILY: 'Courier New'">CompiledExpression.java:104</SPAN></FONT></U><FONT
face="Courier New" color=red size=2><SPAN lang=EN-GB
style="FONT-SIZE: 10pt; COLOR: red; FONT-FAMILY: 'Courier New'">)</SPAN></FONT><O:P></O:P></P><O:P></O:P>
<P class=MsoNormal><FONT face="Courier New" color=red size=2><SPAN
lang=EN-GB
style="FONT-SIZE: 10pt; COLOR: red; FONT-FAMILY: 'Courier New'">
at org.mvel2.MVEL.executeExpression(</SPAN></FONT><U><FONT
face="Courier New" color=navy size=2><SPAN lang=EN-GB
style="FONT-SIZE: 10pt; COLOR: navy; FONT-FAMILY: 'Courier New'">MVEL.java:978</SPAN></FONT></U><FONT
face="Courier New" color=red size=2><SPAN lang=EN-GB
style="FONT-SIZE: 10pt; COLOR: red; FONT-FAMILY: 'Courier New'">)</SPAN></FONT><O:P></O:P></P><O:P></O:P>
<P class=MsoNormal><FONT face="Courier New" color=red size=2><SPAN
lang=EN-GB
style="FONT-SIZE: 10pt; COLOR: red; FONT-FAMILY: 'Courier New'">
at
org.drools.base.mvel.MVELPredicateExpression.evaluate(</SPAN></FONT><U><FONT
face="Courier New" color=navy size=2><SPAN lang=EN-GB
style="FONT-SIZE: 10pt; COLOR: navy; FONT-FAMILY: 'Courier New'">MVELPredicateExpression.java:75</SPAN></FONT></U><FONT
face="Courier New" color=red size=2><SPAN lang=EN-GB
style="FONT-SIZE: 10pt; COLOR: red; FONT-FAMILY: 'Courier New'">)</SPAN></FONT><O:P></O:P></P><O:P></O:P>
<P class=MsoNormal><FONT face="Courier New" color=red size=2><SPAN
lang=EN-GB
style="FONT-SIZE: 10pt; COLOR: red; FONT-FAMILY: 'Courier New'">
at
org.drools.rule.PredicateConstraint.isAllowedCachedLeft(</SPAN></FONT><U><FONT
face="Courier New" color=navy size=2><SPAN lang=EN-GB
style="FONT-SIZE: 10pt; COLOR: navy; FONT-FAMILY: 'Courier New'">PredicateConstraint.java:295</SPAN></FONT></U><FONT
face="Courier New" color=red size=2><SPAN lang=EN-GB
style="FONT-SIZE: 10pt; COLOR: red; FONT-FAMILY: 'Courier New'">)</SPAN></FONT><O:P></O:P></P><O:P></O:P>
<P class=MsoNormal><FONT face="Courier New" color=red size=2><SPAN
lang=EN-GB
style="FONT-SIZE: 10pt; COLOR: red; FONT-FAMILY: 'Courier New'">
at
org.drools.common.SingleBetaConstraints.isAllowedCachedLeft(</SPAN></FONT><U><FONT
face="Courier New" color=navy size=2><SPAN lang=EN-GB
style="FONT-SIZE: 10pt; COLOR: navy; FONT-FAMILY: 'Courier New'">SingleBetaConstraints.java:138</SPAN></FONT></U><FONT
face="Courier New" color=red size=2><SPAN lang=EN-GB
style="FONT-SIZE: 10pt; COLOR: red; FONT-FAMILY: 'Courier New'">)</SPAN></FONT><O:P></O:P></P><O:P></O:P>
<P class=MsoNormal><FONT face="Courier New" color=red size=2><SPAN
lang=EN-GB
style="FONT-SIZE: 10pt; COLOR: red; FONT-FAMILY: 'Courier New'">
at org.drools.reteoo.JoinNode.assertLeftTuple(</SPAN></FONT><U><FONT
face="Courier New" color=navy size=2><SPAN lang=EN-GB
style="FONT-SIZE: 10pt; COLOR: navy; FONT-FAMILY: 'Courier New'">JoinNode.java:114</SPAN></FONT></U><FONT
face="Courier New" color=red size=2><SPAN lang=EN-GB
style="FONT-SIZE: 10pt; COLOR: red; FONT-FAMILY: 'Courier New'">)</SPAN></FONT><O:P></O:P></P><O:P></O:P>
<P class=MsoNormal><FONT face="Courier New" color=red size=2><SPAN
lang=EN-GB
style="FONT-SIZE: 10pt; COLOR: red; FONT-FAMILY: 'Courier New'">
at
org.drools.reteoo.CompositeLeftTupleSinkAdapter.doPropagateAssertLeftTuple(</SPAN></FONT><U><FONT
face="Courier New" color=navy size=2><SPAN lang=EN-GB
style="FONT-SIZE: 10pt; COLOR: navy; FONT-FAMILY: 'Courier New'">CompositeLeftTupleSinkAdapter.java:145</SPAN></FONT></U><FONT
face="Courier New" color=red size=2><SPAN lang=EN-GB
style="FONT-SIZE: 10pt; COLOR: red; FONT-FAMILY: 'Courier New'">)</SPAN></FONT><O:P></O:P></P><O:P></O:P>
<P class=MsoNormal><FONT face="Courier New" color=red size=2><SPAN
lang=EN-GB
style="FONT-SIZE: 10pt; COLOR: red; FONT-FAMILY: 'Courier New'">
at
org.drools.reteoo.CompositeLeftTupleSinkAdapter.createAndPropagateAssertLeftTuple(</SPAN></FONT><U><FONT
face="Courier New" color=navy size=2><SPAN lang=EN-GB
style="FONT-SIZE: 10pt; COLOR: navy; FONT-FAMILY: 'Courier New'">CompositeLeftTupleSinkAdapter.java:57</SPAN></FONT></U><FONT
face="Courier New" color=red size=2><SPAN lang=EN-GB
style="FONT-SIZE: 10pt; COLOR: red; FONT-FAMILY: 'Courier New'">)</SPAN></FONT><O:P></O:P></P><O:P></O:P>
<P class=MsoNormal><FONT face="Courier New" color=red size=2><SPAN
lang=EN-GB
style="FONT-SIZE: 10pt; COLOR: red; FONT-FAMILY: 'Courier New'">
at
org.drools.reteoo.LeftInputAdapterNode.assertObject(</SPAN></FONT><U><FONT
face="Courier New" color=navy size=2><SPAN lang=EN-GB
style="FONT-SIZE: 10pt; COLOR: navy; FONT-FAMILY: 'Courier New'">LeftInputAdapterNode.java:142</SPAN></FONT></U><FONT
face="Courier New" color=red size=2><SPAN lang=EN-GB
style="FONT-SIZE: 10pt; COLOR: red; FONT-FAMILY: 'Courier New'">)</SPAN></FONT><O:P></O:P></P><O:P></O:P>
<P class=MsoNormal><FONT face="Courier New" color=red size=2><SPAN
lang=EN-GB
style="FONT-SIZE: 10pt; COLOR: red; FONT-FAMILY: 'Courier New'">
at
org.drools.reteoo.SingleObjectSinkAdapter.propagateAssertObject(</SPAN></FONT><U><FONT
face="Courier New" color=navy size=2><SPAN lang=EN-GB
style="FONT-SIZE: 10pt; COLOR: navy; FONT-FAMILY: 'Courier New'">SingleObjectSinkAdapter.java:42</SPAN></FONT></U><FONT
face="Courier New" color=red size=2><SPAN lang=EN-GB
style="FONT-SIZE: 10pt; COLOR: red; FONT-FAMILY: 'Courier New'">)</SPAN></FONT><O:P></O:P></P><O:P></O:P>
<P class=MsoNormal><FONT face="Courier New" color=red size=2><SPAN
lang=EN-GB
style="FONT-SIZE: 10pt; COLOR: red; FONT-FAMILY: 'Courier New'">
at org.drools.reteoo.ObjectTypeNode.assertObject(</SPAN></FONT><U><FONT
face="Courier New" color=navy size=2><SPAN lang=EN-GB
style="FONT-SIZE: 10pt; COLOR: navy; FONT-FAMILY: 'Courier New'">ObjectTypeNode.java:185</SPAN></FONT></U><FONT
face="Courier New" color=red size=2><SPAN lang=EN-GB
style="FONT-SIZE: 10pt; COLOR: red; FONT-FAMILY: 'Courier New'">)</SPAN></FONT><O:P></O:P></P><O:P></O:P>
<P class=MsoNormal><FONT face="Courier New" color=red size=2><SPAN
lang=EN-GB
style="FONT-SIZE: 10pt; COLOR: red; FONT-FAMILY: 'Courier New'">
at org.drools.reteoo.EntryPointNode.assertObject(</SPAN></FONT><U><FONT
face="Courier New" color=navy size=2><SPAN lang=EN-GB
style="FONT-SIZE: 10pt; COLOR: navy; FONT-FAMILY: 'Courier New'">EntryPointNode.java:146</SPAN></FONT></U><FONT
face="Courier New" color=red size=2><SPAN lang=EN-GB
style="FONT-SIZE: 10pt; COLOR: red; FONT-FAMILY: 'Courier New'">)</SPAN></FONT><O:P></O:P></P><O:P></O:P>
<P class=MsoNormal><FONT face="Courier New" color=red size=2><SPAN
lang=EN-GB
style="FONT-SIZE: 10pt; COLOR: red; FONT-FAMILY: 'Courier New'">
at org.drools.common.AbstractWorkingMemory.insert(</SPAN></FONT><U><FONT
face="Courier New" color=navy size=2><SPAN lang=EN-GB
style="FONT-SIZE: 10pt; COLOR: navy; FONT-FAMILY: 'Courier New'">AbstractWorkingMemory.java:1046</SPAN></FONT></U><FONT
face="Courier New" color=red size=2><SPAN lang=EN-GB
style="FONT-SIZE: 10pt; COLOR: red; FONT-FAMILY: 'Courier New'">)</SPAN></FONT><O:P></O:P></P><O:P></O:P>
<P class=MsoNormal><FONT face="Courier New" color=red size=2><SPAN
lang=EN-GB
style="FONT-SIZE: 10pt; COLOR: red; FONT-FAMILY: 'Courier New'">
at org.drools.common.AbstractWorkingMemory.insert(</SPAN></FONT><U><FONT
face="Courier New" color=navy size=2><SPAN lang=EN-GB
style="FONT-SIZE: 10pt; COLOR: navy; FONT-FAMILY: 'Courier New'">AbstractWorkingMemory.java:1001</SPAN></FONT></U><FONT
face="Courier New" color=red size=2><SPAN lang=EN-GB
style="FONT-SIZE: 10pt; COLOR: red; FONT-FAMILY: 'Courier New'">)</SPAN></FONT><O:P></O:P></P><O:P></O:P>
<P class=MsoNormal><FONT face="Courier New" color=red size=2><SPAN
lang=EN-GB
style="FONT-SIZE: 10pt; COLOR: red; FONT-FAMILY: 'Courier New'">
at org.drools.common.AbstractWorkingMemory.insert(</SPAN></FONT><U><FONT
face="Courier New" color=navy size=2><SPAN lang=EN-GB
style="FONT-SIZE: 10pt; COLOR: navy; FONT-FAMILY: 'Courier New'">AbstractWorkingMemory.java:788</SPAN></FONT></U><FONT
face="Courier New" color=red size=2><SPAN lang=EN-GB
style="FONT-SIZE: 10pt; COLOR: red; FONT-FAMILY: 'Courier New'">)</SPAN></FONT><O:P></O:P></P><O:P></O:P>
<P class=MsoNormal><FONT face="Courier New" color=red size=2><SPAN
lang=EN-GB
style="FONT-SIZE: 10pt; COLOR: red; FONT-FAMILY: 'Courier New'">
at
org.drools.impl.StatefulKnowledgeSessionImpl.insert(</SPAN></FONT><U><FONT
face="Courier New" color=navy size=2><SPAN lang=EN-GB
style="FONT-SIZE: 10pt; COLOR: navy; FONT-FAMILY: 'Courier New'">StatefulKnowledgeSessionImpl.java:216</SPAN></FONT></U><FONT
face="Courier New" color=red size=2><SPAN lang=EN-GB
style="FONT-SIZE: 10pt; COLOR: red; FONT-FAMILY: 'Courier New'">)</SPAN></FONT><O:P></O:P></P><O:P></O:P>
<P class=MsoNormal><FONT face="Courier New" color=red size=2><SPAN
lang=EN-GB
style="FONT-SIZE: 10pt; COLOR: red; FONT-FAMILY: 'Courier New'">
at
north.stardust2.services.trading.booking.impl.DealBookingProcessorImpl.insertDealFacts(</SPAN></FONT><U><FONT
face="Courier New" color=navy size=2><SPAN lang=EN-GB
style="FONT-SIZE: 10pt; COLOR: navy; FONT-FAMILY: 'Courier New'">DealBookingProcessorImpl.java:200</SPAN></FONT></U><FONT
face="Courier New" color=red size=2><SPAN lang=EN-GB
style="FONT-SIZE: 10pt; COLOR: red; FONT-FAMILY: 'Courier New'">)</SPAN></FONT><O:P></O:P></P><O:P></O:P>
<P class=MsoNormal><FONT face=Verdana size=2><SPAN lang=EN-GB
style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana"><O:P></O:P><O:P></O:P>So to
summarize my questions : <O:P></O:P></SPAN></FONT><O:P></O:P></P>
<P class=MsoNormal style="MARGIN-LEFT: 36pt; TEXT-INDENT: -18pt"><FONT
face=Verdana size=2><SPAN lang=EN-GB
style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana">-</SPAN></FONT><FONT
size=1><SPAN lang=EN-GB
style="FONT-SIZE: 7pt">
</SPAN></FONT><FONT face=Verdana size=2><SPAN lang=EN-GB
style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana">how can I fix the facts
insertion ?<O:P></O:P></SPAN></FONT><O:P></O:P></P>
<P class=MsoNormal style="MARGIN-LEFT: 36pt; TEXT-INDENT: -18pt"><FONT
face=Verdana size=2><SPAN lang=EN-GB
style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana">-</SPAN></FONT><FONT
size=1><SPAN lang=EN-GB
style="FONT-SIZE: 7pt">
</SPAN></FONT><FONT face=Verdana size=2><SPAN lang=EN-GB
style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana">is there some newbie mistakes
in my approach ?<O:P></O:P></SPAN></FONT><O:P></O:P></P>
<P class=MsoNormal><FONT face=Verdana size=2><SPAN lang=EN-GB
style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana"><O:P></O:P>Thanks in advance
for your help,<O:P></O:P></SPAN></FONT><O:P></O:P></P>
<P class=MsoNormal><FONT face=Verdana size=2><SPAN lang=EN-GB
style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana">Regards,
<O:P></O:P></SPAN></FONT><O:P></O:P></P>
<P class=MsoNormal><FONT face=Verdana size=2><SPAN lang=EN-GB
style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana"><O:P></O:P>Joël
Costigliola</SPAN></FONT><O:P></O:P></P></DIV><O:P></O:P><FONT
face="Times New Roman" size=3><SPAN
style="FONT-SIZE: 12pt; FONT-FAMILY: 'Times New Roman'"><O:P></O:P></SPAN></FONT>
<DIV>
<DIV class=MsoNormal style="TEXT-ALIGN: center" align=center><FONT
face="Times New Roman" size=3><SPAN style="FONT-SIZE: 12pt">
<HR align=center width="100%" SIZE=2>
</SPAN></FONT></DIV></DIV>
<DIV>
<P class=MsoNormal><FONT face="Times New Roman" size=3><SPAN
style="FONT-SIZE: 12pt"><O:P></O:P></SPAN></FONT></P></DIV>
<DIV>
<P class=MsoNormal><FONT face="Times New Roman" color=black size=2><SPAN
style="FONT-SIZE: 10pt; COLOR: black">Ce courriel et toutes les pièces
jointes sont confidentiels et peuvent être couverts par un privilège ou une
protection légale. Il est établi à l’attention exclusive de ses
destinataires. Toute utilisation de ce courriel non conforme à sa
destination, toute diffusion ou toute publication, totale ou partielle, est
interdite, sauf autorisation expresse préalable. Toutes opinions exprimées
dans ce courriel ne sauraient nécessairement refléter celle de Natixis, de
ses filiales. Elles sont aussi susceptibles de modification sans
notification préalable. Si vous recevez ce courriel par erreur, merci de le
détruire et d’en avertir immédiatement l’expéditeur. L’Internet ne
permettant pas d’assurer l’intégrité de ce courriel, Natixis décline toute
responsabilité s’il a été altéré, déformé ou falsifié et chaque destinataire
qui utilise ce mode de communication est supposé en accepter les
risques.</SPAN></FONT> <O:P></O:P></P></DIV>
<DIV>
<P class=MsoNormal><FONT face="Times New Roman" size=3><SPAN
style="FONT-SIZE: 12pt"><O:P></O:P></SPAN></FONT></P></DIV>
<DIV>
<P class=MsoNormal><FONT face="Times New Roman" color=black size=2><SPAN
style="FONT-SIZE: 10pt; COLOR: black">This email and any attachment are
confidential and may be legally privileged or otherwise protected from
disclosure. It is intended only for the stated addressee(s) and access to it
by any other person(s) is unauthorised. Any use, dissemination or disclosure
not in accordance with its purpose, either in whole or in part, is
prohibited without our prior formal approval. Any opinion expressed in this
email may not necessarily reflect the opinion of Natixis, its affiliates. It
may also be subject to change without prior notice. If you are not an
addressee, you must not disclose, copy, circulate or in any other way use or
rely on the information contained in this email. If you have received it in
error, please inform us immediately and delete all copies. The Internet can
not guarantee the integrity of this email therefore Natixis shall not be
liable for the email if altered, changed or falsified and anyone who
communicates with us by e-mail is taken to accept these risks.</SPAN></FONT>
<O:P></O:P></P></DIV>
<DIV class=MsoNormal style="TEXT-ALIGN: center" align=center><FONT
face="Times New Roman" size=3><SPAN style="FONT-SIZE: 12pt">
<HR align=center width="100%" SIZE=2>
</SPAN></FONT></DIV></DIV></BLOCKQUOTE></DIV></DIV>
<DIV></DIV>
<DIV>
<HR>
</DIV>
<DIV align=justify><FONT face=Arial color=gray size=1><SPAN
style="FONT-SIZE: 12pt"><FONT face=Arial><FONT face="Times New Roman"
color=#000000 size=3></FONT></FONT></SPAN></FONT> </DIV>
<DIV align=justify><FONT color=gray><SPAN style="FONT-SIZE: 12pt"><FONT
color=#000000 size=2>Ce courriel et toutes les pièces jointes sont
confidentiels et peuvent être couverts par un privilège ou une protection
légale. Il est établi à l’attention exclusive de ses destinataires. Toute
utilisation de ce courriel non conforme à sa destination, toute diffusion ou
toute publication, totale ou partielle, est interdite, sauf autorisation
expresse préalable. Toutes opinions exprimées dans ce courriel ne sauraient
nécessairement refléter celle de Natixis, de ses filiales. Elles sont aussi
susceptibles de modification sans notification préalable. Si vous recevez ce
courriel par erreur, merci de le détruire et d’en avertir immédiatement
l’expéditeur. L’Internet ne permettant pas d’assurer l’intégrité de ce
courriel, Natixis décline toute responsabilité s’il a été altéré, déformé ou
falsifié et chaque destinataire qui utilise ce mode de communication est
supposé en accepter les risques.</FONT></SPAN></FONT> </DIV>
<DIV align=justify><FONT color=gray><SPAN
style="FONT-SIZE: 12pt"></SPAN></FONT> </DIV>
<DIV align=justify><FONT color=gray><SPAN
style="FONT-SIZE: 12pt"></SPAN></FONT><FONT color=gray><SPAN
style="FONT-SIZE: 12pt"><FONT color=#000000 size=2>This email and any
attachment are confidential and may be legally privileged or otherwise
protected from disclosure. It is intended only for the stated addressee(s) and
access to it by any other person(s) is unauthorised. Any use, dissemination or
disclosure not in accordance with its purpose, either in whole or in part, is
prohibited without our prior formal approval. Any opinion expressed in this
email may not necessarily reflect the opinion of Natixis, its affiliates. It
may also be subject to change without prior notice. If you are not an
addressee, you must not disclose, copy, circulate or in any other way use or
rely on the information contained in this email. If you have received it in
error, please inform us immediately and delete all copies. The Internet can
not guarantee the integrity of this email therefore Natixis shall not be
liable for the email if altered, changed or falsified and anyone who
communicates with us by e-mail is taken to accept these
risks.</FONT></SPAN></FONT> </DIV>
<P class=MsoNormal align=justify>
<HR>
<P></P>
<P></P>
<P></P></DIV></BLOCKQUOTE></BODY></HTML>