<HTML >
<HEAD>
<META http-equiv="Content-Type" content="text/html; charset=us-ascii">



<meta name=Generator content="Microsoft Word 11 (filtered medium)">
<!--[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]--><o:SmartTagType
 namespaceuri="urn:schemas-microsoft-com:office:smarttags" name="PersonName"/>
<!--[if !mso]>
<style>
st1\:*{behavior:url(#default#ieooui) }
</style>
<![endif]-->
<style>
<!--
 /* Font Definitions */
 @font-face
        {font-family:"MS Mincho";
        panose-1:2 2 6 9 4 2 5 8 3 4;}
@font-face
        {font-family:Tahoma;
        panose-1:2 11 6 4 3 5 4 4 2 4;}
@font-face
        {font-family:Verdana;
        panose-1:2 11 6 4 3 5 4 4 2 4;}
@font-face
        {font-family:"\@MS Mincho";
        panose-1:2 2 6 9 4 2 5 8 3 4;}
 /* Style Definitions */
 p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0cm;
        margin-bottom:.0001pt;
        font-size:12.0pt;
        font-family:"Times New Roman";}
a:link, span.MsoHyperlink
        {color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {color:blue;
        text-decoration:underline;}
p
        {mso-margin-top-alt:auto;
        margin-right:0cm;
        mso-margin-bottom-alt:auto;
        margin-left:0cm;
        font-size:12.0pt;
        font-family:"Times New Roman";}
span.EmailStyle18
        {mso-style-type:personal;
        font-family:Verdana;
        color:blue;
        font-weight:normal;
        font-style:normal;
        text-decoration:none none;}
span.EmailStyle19
        {mso-style-type:personal-reply;
        font-family:Verdana;
        color:blue;
        font-weight:normal;
        font-style:normal;
        text-decoration:none none;}
@page Section1
        {size:595.3pt 841.9pt;
        margin:70.85pt 70.85pt 70.85pt 70.85pt;}
div.Section1
        {page:Section1;}
 /* List Definitions */
 @list l0
        {mso-list-id:1264797819;
        mso-list-type:hybrid;
        mso-list-template-ids:1683943444 -2076175796 67895299 67895301 67895297 67895299 67895301 67895297 67895299 67895301;}
@list l0:level1
        {mso-level-start-at:0;
        mso-level-number-format:bullet;
        mso-level-text:-;
        mso-level-tab-stop:36.0pt;
        mso-level-number-position:left;
        text-indent:-18.0pt;
        font-family:Verdana;
        mso-fareast-font-family:"MS Mincho";
        mso-bidi-font-family:"Times New Roman";}
@list l0:level2
        {mso-level-tab-stop:72.0pt;
        mso-level-number-position:left;
        text-indent:-18.0pt;}
@list l0:level3
        {mso-level-tab-stop:108.0pt;
        mso-level-number-position:left;
        text-indent:-18.0pt;}
@list l0:level4
        {mso-level-tab-stop:144.0pt;
        mso-level-number-position:left;
        text-indent:-18.0pt;}
@list l0:level5
        {mso-level-tab-stop:180.0pt;
        mso-level-number-position:left;
        text-indent:-18.0pt;}
@list l0:level6
        {mso-level-tab-stop:216.0pt;
        mso-level-number-position:left;
        text-indent:-18.0pt;}
@list l0:level7
        {mso-level-tab-stop:252.0pt;
        mso-level-number-position:left;
        text-indent:-18.0pt;}
@list l0:level8
        {mso-level-tab-stop:288.0pt;
        mso-level-number-position:left;
        text-indent:-18.0pt;}
@list l0:level9
        {mso-level-tab-stop:324.0pt;
        mso-level-number-position:left;
        text-indent:-18.0pt;}
@list l1
        {mso-list-id:1447116417;
        mso-list-type:hybrid;
        mso-list-template-ids:1266430764 67895311 67895321 67895323 67895311 67895321 67895323 67895311 67895321 67895323;}
@list l1:level1
        {mso-level-tab-stop:39.75pt;
        mso-level-number-position:left;
        margin-left:39.75pt;
        text-indent:-18.0pt;}
@list l1:level2
        {mso-level-tab-stop:72.0pt;
        mso-level-number-position:left;
        text-indent:-18.0pt;}
@list l1:level3
        {mso-level-tab-stop:108.0pt;
        mso-level-number-position:left;
        text-indent:-18.0pt;}
@list l1:level4
        {mso-level-tab-stop:144.0pt;
        mso-level-number-position:left;
        text-indent:-18.0pt;}
@list l1:level5
        {mso-level-tab-stop:180.0pt;
        mso-level-number-position:left;
        text-indent:-18.0pt;}
@list l1:level6
        {mso-level-tab-stop:216.0pt;
        mso-level-number-position:left;
        text-indent:-18.0pt;}
@list l1:level7
        {mso-level-tab-stop:252.0pt;
        mso-level-number-position:left;
        text-indent:-18.0pt;}
@list l1:level8
        {mso-level-tab-stop:288.0pt;
        mso-level-number-position:left;
        text-indent:-18.0pt;}
@list l1:level9
        {mso-level-tab-stop:324.0pt;
        mso-level-number-position:left;
        text-indent:-18.0pt;}
ol
        {margin-bottom:0cm;}
ul
        {margin-bottom:0cm;}
-->
</style>

</HEAD>
<BODY lang=FR link=blue vlink=blue>
<DIV>
<DIV>

<div class=Section1>

<p class=MsoNormal><font size=2 color=blue face=Verdana><span lang=EN-GB
style='font-size:10.0pt;font-family:Verdana;color:blue'>Back with good news,
removing collect fixes the out of memory problem. :)<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=blue face=Verdana><span lang=EN-GB
style='font-size:10.0pt;font-family:Verdana;color:blue'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoNormal><font size=2 color=blue face=Verdana><span lang=EN-GB
style='font-size:10.0pt;font-family:Verdana;color:blue'>It also gives much
better performance : <o:p></o:p></span></font></p>

<p class=MsoNormal style='margin-left:36.0pt;text-indent:-18.0pt;mso-list:l0 level1 lfo1'><![if !supportLists]><font
size=2 color=blue face=Verdana><span lang=EN-GB style='font-size:10.0pt;
font-family:Verdana;color:blue'><span style='mso-list:Ignore'>-<font size=1
face="Times New Roman"><span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></font></span></span></font><![endif]><font size=2 color=blue
face=Verdana><span lang=EN-GB style='font-size:10.0pt;font-family:Verdana;
color:blue'>with &#8220;collect&#8221; I was able to process 500 deals in 1min09 sec<o:p></o:p></span></font></p>

<p class=MsoNormal style='margin-left:36.0pt;text-indent:-18.0pt;mso-list:l0 level1 lfo1'><![if !supportLists]><font
size=2 color=blue face=Verdana><span lang=EN-GB style='font-size:10.0pt;
font-family:Verdana;color:blue'><span style='mso-list:Ignore'>-<font size=1
face="Times New Roman"><span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></font></span></span></font><![endif]><font size=2 color=blue
face=Verdana><span lang=EN-GB style='font-size:10.0pt;font-family:Verdana;
color:blue'>without &#8220;collect&#8221; I was able to process 1000 deals in 33 sec (facts
insertion only last 3 sec)<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=blue face=Verdana><span lang=EN-GB
style='font-size:10.0pt;font-family:Verdana;color:blue'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoNormal><font size=2 color=blue face=Verdana><span lang=EN-GB
style='font-size:10.0pt;font-family:Verdana;color:blue'>I will now try to
replace the four call to eval to only one call, hope it will also improve
performance.<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=blue face=Verdana><span lang=EN-GB
style='font-size:10.0pt;font-family:Verdana;color:blue'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoNormal><font size=2 color=blue face=Verdana><span lang=EN-GB
style='font-size:10.0pt;font-family:Verdana;color:blue'>For those interested, I
describe the new Drools rules and one problem encountered and solved.<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=blue face=Verdana><span lang=EN-GB
style='font-size:10.0pt;font-family:Verdana;color:blue'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoNormal><font size=2 color=blue face=Verdana><span lang=EN-GB
style='font-size:10.0pt;font-family:Verdana;color:blue'>Following Mike and
Wolfgang precious advices, I have splitted my process in 2 major steps : <o:p></o:p></span></font></p>

<p class=MsoNormal style='margin-left:39.75pt;text-indent:-18.0pt;mso-list:
l1 level1 lfo2'><![if !supportLists]><font size=2 color=blue face=Verdana><span
lang=EN-GB style='font-size:10.0pt;font-family:Verdana;color:blue'><span
style='mso-list:Ignore'>1.<font size=1 face="Times New Roman"><span
style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></font></span></span></font><![endif]><font
size=2 color=blue face=Verdana><span lang=EN-GB style='font-size:10.0pt;
font-family:Verdana;color:blue'>Find all booking rule matching the incoming
deals and storing them by deal with a DealMatchingBookingRules &nbsp;&nbsp;<o:p></o:p></span></font></p>

<p class=MsoNormal style='margin-left:39.75pt;text-indent:-18.0pt;mso-list:
l1 level1 lfo2'><![if !supportLists]><font size=2 color=blue face=Verdana><span
lang=EN-GB style='font-size:10.0pt;font-family:Verdana;color:blue'><span
style='mso-list:Ignore'>2.<font size=1 face="Times New Roman"><span
style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></font></span></span></font><![endif]><font
size=2 color=blue face=Verdana><span lang=EN-GB style='font-size:10.0pt;
font-family:Verdana;color:blue'>Try to apply the correct booking rule for each
deal (that is choosing good the booking rule to apply among the matching ones) <o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=blue face=Verdana><span lang=EN-GB
style='font-size:10.0pt;font-family:Verdana;color:blue'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoNormal><font size=2 color=blue face=Verdana><span lang=EN-GB
style='font-size:10.0pt;font-family:Verdana;color:blue'>Each
DealMatchingBookingRules references a unique Deal and has a Map storing
matching booking rule by their priority level for this Deal, so first step is
really filling the DealMatchingBookingRules with booking rule.<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=blue face=Verdana><span lang=EN-GB
style='font-size:10.0pt;font-family:Verdana;color:blue'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoNormal><font size=2 color=blue face=Verdana><span lang=EN-GB
style='font-size:10.0pt;font-family:Verdana;color:blue'>I encountered a problem
in my first &#8220;matching step&#8221; implementation where I was updating </span></font><font
size=2 color=black face="Courier New"><span lang=EN-GB style='font-size:10.0pt;
font-family:"Courier New";color:black'>$dealMatchingBookingRules</span></font><font
size=2 color=blue face=Verdana><span lang=EN-GB style='font-size:10.0pt;
font-family:Verdana;color:blue'>, after adding a matching booking rule.<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=blue face=Verdana><span lang=EN-GB
style='font-size:10.0pt;font-family:Verdana;color:blue'>When a deal has 2
matching booking rule, Drools executes &#8220;Find matching booking rules by deal&#8221;
for the first booking rule, then update </span></font><font size=2 color=black
face="Courier New"><span lang=EN-GB style='font-size:10.0pt;font-family:"Courier New";
color:black'>$dealMatchingBookingRules</span></font><font size=2 color=blue
face=Verdana><span lang=EN-GB style='font-size:10.0pt;font-family:Verdana;
color:blue'>, it executes the rule for the second booking rule, update </span></font><font
size=2 color=black face="Courier New"><span lang=EN-GB style='font-size:10.0pt;
font-family:"Courier New";color:black'>$dealMatchingBookingRules</span></font><font
size=2 color=blue face=Verdana><span lang=EN-GB style='font-size:10.0pt;
font-family:Verdana;color:blue'> again.<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=blue face=Verdana><span lang=EN-GB
style='font-size:10.0pt;font-family:Verdana;color:blue'>Problem arises here
because since </span></font><font size=2 color=black face="Courier New"><span
lang=EN-GB style='font-size:10.0pt;font-family:"Courier New";color:black'>$dealMatchingBookingRules</span></font><font
size=2 color=blue face=Verdana><span lang=EN-GB style='font-size:10.0pt;
font-family:Verdana;color:blue'>, is updated Drools will execute the rule &#8220;Find
matching booking rules by deal&#8221; for the first booking rule again, same thing
for the second booking rule &#8230; infinite loop !<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=blue face=Verdana><span lang=EN-GB
style='font-size:10.0pt;font-family:Verdana;color:blue'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoNormal><font size=2 color=blue face=Verdana><span lang=EN-GB
style='font-size:10.0pt;font-family:Verdana;color:blue'>To solve this, I don&#8217;t
update </span></font><font size=2 color=black face="Courier New"><span
lang=EN-GB style='font-size:10.0pt;font-family:"Courier New";color:black'>$dealMatchingBookingRules</span></font><font
size=2 color=blue face=Verdana><span lang=EN-GB style='font-size:10.0pt;
font-family:Verdana;color:blue'>, I have just added another rule to update all
the DealMatchingBookingRules, it is less prioritary than the &#8220;matching rule&#8221; it
is thus applied after all booking rule have been associated to their matching
deal.<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=blue face=Verdana><span lang=EN-GB
style='font-size:10.0pt;font-family:Verdana;color:blue'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoNormal><font size=2 color=blue face=Verdana><span lang=EN-GB
style='font-size:10.0pt;font-family:Verdana;color:blue'>Maybe there is a better
solution to that problem, I don&#8217;t know &#8230; <o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=blue face=Verdana><span lang=EN-GB
style='font-size:10.0pt;font-family:Verdana;color:blue'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoNormal><font size=2 color=blue face=Verdana><span lang=EN-GB
style='font-size:10.0pt;font-family:Verdana;color:blue'>Many thanks to Mike and
Wolfgang for their help !<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=blue face=Verdana><span lang=EN-GB
style='font-size:10.0pt;font-family:Verdana;color:blue'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoNormal><font size=2 color=blue face=Verdana><span lang=EN-GB
style='font-size:10.0pt;font-family:Verdana;color:blue'>Joel<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=blue face=Verdana><span lang=EN-GB
style='font-size:10.0pt;font-family:Verdana;color:blue'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoNormal><b><font size=2 color="#960000" face="Courier New"><span
lang=EN-GB style='font-size:10.0pt;font-family:"Courier New";color:#960000;
font-weight:bold'>rule</span></font></b><font size=2 color=black
face="Courier New"><span lang=EN-GB style='font-size:10.0pt;font-family:"Courier New";
color:black'> </span></font><font size=2 color=green face="Courier New"><span
lang=EN-GB style='font-size:10.0pt;font-family:"Courier New";color:green'>&quot;Find
matching booking rules by deal&quot;</span></font><font size=2
face="Courier New"><span lang=EN-GB style='font-size:10.0pt;font-family:"Courier New"'><o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=black face="Courier New"><span
lang=EN-GB style='font-size:10.0pt;font-family:"Courier New";color:black'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></font><b><font size=2 color="#960000" face="Courier New"><span
lang=EN-GB style='font-size:10.0pt;font-family:"Courier New";color:#960000;
font-weight:bold'>salience</span></font></b><font size=2 color=black
face="Courier New"><span lang=EN-GB style='font-size:10.0pt;font-family:"Courier New";
color:black'> 10</span></font><font size=2 face="Courier New"><span lang=EN-GB
style='font-size:10.0pt;font-family:"Courier New"'><o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=black face="Courier New"><span
lang=EN-GB style='font-size:10.0pt;font-family:"Courier New";color:black'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></font><b><font size=2 color="#960000" face="Courier New"><span
lang=EN-GB style='font-size:10.0pt;font-family:"Courier New";color:#960000;
font-weight:bold'>no-loop</span></font></b><font size=2 color=black
face="Courier New"><span lang=EN-GB style='font-size:10.0pt;font-family:"Courier New";
color:black'> </span></font><font size=2 face="Courier New"><span lang=EN-GB
style='font-size:10.0pt;font-family:"Courier New"'><o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=black face="Courier New"><span
lang=EN-GB style='font-size:10.0pt;font-family:"Courier New";color:black'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></font><b><font size=2 color="#960000" face="Courier New"><span
lang=EN-GB style='font-size:10.0pt;font-family:"Courier New";color:#960000;
font-weight:bold'>ruleflow-group</span></font></b><font size=2 color=black
face="Courier New"><span lang=EN-GB style='font-size:10.0pt;font-family:"Courier New";
color:black'> </span></font><font size=2 color=green face="Courier New"><span
lang=EN-GB style='font-size:10.0pt;font-family:"Courier New";color:green'>&quot;Find
matching booking rules by deal group&quot;</span></font><font size=2
face="Courier New"><span lang=EN-GB style='font-size:10.0pt;font-family:"Courier New"'><o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=black face="Courier New"><span
lang=EN-GB style='font-size:10.0pt;font-family:"Courier New";color:black'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></font><font size=2 face="Courier New"><span lang=EN-GB
style='font-size:10.0pt;font-family:"Courier New"'><o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=black face="Courier New"><span
lang=EN-GB style='font-size:10.0pt;font-family:"Courier New";color:black'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></font><b><font size=2 color="#960000" face="Courier New"><span
lang=EN-GB style='font-size:10.0pt;font-family:"Courier New";color:#960000;
font-weight:bold'>when</span></font></b><font size=2 face="Courier New"><span
lang=EN-GB style='font-size:10.0pt;font-family:"Courier New"'><o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=black face="Courier New"><span
lang=EN-GB style='font-size:10.0pt;font-family:"Courier New";color:black'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp; $dealMatchingBookingRules :
DealMatchingBookingRules($dealModel : deal)</span></font><font size=2
face="Courier New"><span lang=EN-GB style='font-size:10.0pt;font-family:"Courier New"'><o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=black face="Courier New"><span
lang=EN-GB style='font-size:10.0pt;font-family:"Courier New";color:black'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp; ProductRelatedIndexes( product.internalCode ==
$dealModel.product.internalCode, $dealProductIndexes : relatedIndexes)</span></font><font
size=2 face="Courier New"><span lang=EN-GB style='font-size:10.0pt;font-family:
"Courier New"'><o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=black face="Courier New"><span
lang=EN-GB style='font-size:10.0pt;font-family:"Courier New";color:black'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp; $bookingRule : BTExecutionBookingRuleModel(</span></font><font
size=2 face="Courier New"><span lang=EN-GB style='font-size:10.0pt;font-family:
"Courier New"'><o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=black face="Courier New"><span
lang=EN-GB style='font-size:10.0pt;font-family:"Courier New";color:black'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></font><b><font size=2
color="#960000" face="Courier New"><span lang=EN-GB style='font-size:10.0pt;
font-family:"Courier New";color:#960000;font-weight:bold'>eval</span></font></b><font
size=2 color=black face="Courier New"><span lang=EN-GB style='font-size:10.0pt;
font-family:"Courier New";color:black'>(matchTraderCriterion(traderCriterion,
$dealModel.getTrader()))</span></font><font size=2 face="Courier New"><span
lang=EN-GB style='font-size:10.0pt;font-family:"Courier New"'><o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=black face="Courier New"><span
lang=EN-GB style='font-size:10.0pt;font-family:"Courier New";color:black'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &amp;&amp; </span></font><b><font
size=2 color="#960000" face="Courier New"><span lang=EN-GB style='font-size:
10.0pt;font-family:"Courier New";color:#960000;font-weight:bold'>eval</span></font></b><font
size=2 color=black face="Courier New"><span lang=EN-GB style='font-size:10.0pt;
font-family:"Courier New";color:black'>(matchPortfolioCriterion(portfolioCriterion,
$dealModel.getPortfolio())) </span></font><font size=2 face="Courier New"><span
lang=EN-GB style='font-size:10.0pt;font-family:"Courier New"'><o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=black face="Courier New"><span
lang=EN-GB style='font-size:10.0pt;font-family:"Courier New";color:black'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &amp;&amp; </span></font><b><font
size=2 color="#960000" face="Courier New"><span lang=EN-GB style='font-size:
10.0pt;font-family:"Courier New";color:#960000;font-weight:bold'>eval</span></font></b><font
size=2 color=black face="Courier New"><span lang=EN-GB style='font-size:10.0pt;
font-family:"Courier New";color:black'>(matchIndexCriterion(listedIndexCriterion,
$dealProductIndexes))</span></font><font size=2 face="Courier New"><span
lang=EN-GB style='font-size:10.0pt;font-family:"Courier New"'><o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=black face="Courier New"><span
lang=EN-GB style='font-size:10.0pt;font-family:"Courier New";color:black'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &amp;&amp; </span></font><b><font
size=2 color="#960000" face="Courier New"><span lang=EN-GB style='font-size:
10.0pt;font-family:"Courier New";color:#960000;font-weight:bold'>eval</span></font></b><font
size=2 color=black face="Courier New"><span lang=EN-GB style='font-size:10.0pt;
font-family:"Courier New";color:black'>(matchProductTypeCriterion(productTypeStringCriterion,
$dealModel.getProduct())) </span></font><font size=2 face="Courier New"><span
lang=EN-GB style='font-size:10.0pt;font-family:"Courier New"'><o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=black face="Courier New"><span
lang=EN-GB style='font-size:10.0pt;font-family:"Courier New";color:black'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp; )</span></font><font size=2 face="Courier New"><span
lang=EN-GB style='font-size:10.0pt;font-family:"Courier New"'><o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=black face="Courier New"><span
lang=EN-GB style='font-size:10.0pt;font-family:"Courier New";color:black'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></font><b><font size=2 color="#960000" face="Courier New"><span
lang=EN-GB style='font-size:10.0pt;font-family:"Courier New";color:#960000;
font-weight:bold'>then</span></font></b><font size=2 face="Courier New"><span
lang=EN-GB style='font-size:10.0pt;font-family:"Courier New"'><o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=black face="Courier New"><span
lang=EN-GB style='font-size:10.0pt;font-family:"Courier New";color:black'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Logger log = LoggerFactory.getLogger(</span></font><font size=2 color=green
face="Courier New"><span lang=EN-GB style='font-size:10.0pt;font-family:"Courier New";
color:green'>&quot;Matching booking rules LOGGER&quot;</span></font><font
size=2 color=black face="Courier New"><span lang=EN-GB style='font-size:10.0pt;
font-family:"Courier New";color:black'>);</span></font><font size=2
face="Courier New"><span lang=EN-GB style='font-size:10.0pt;font-family:"Courier New"'><o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=black face="Courier New"><span
lang=EN-GB style='font-size:10.0pt;font-family:"Courier New";color:black'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
log.info(</span></font><font size=2 color=green face="Courier New"><span
lang=EN-GB style='font-size:10.0pt;font-family:"Courier New";color:green'>&quot;Found
a matching rule for deal : &quot;</span></font><font size=2 color=black
face="Courier New"><span lang=EN-GB style='font-size:10.0pt;font-family:"Courier New";
color:black'> + $dealModel + </span></font><font size=2 color=green
face="Courier New"><span lang=EN-GB style='font-size:10.0pt;font-family:"Courier New";
color:green'>&quot;, rule is &quot;</span></font><font size=2 color=black
face="Courier New"><span lang=EN-GB style='font-size:10.0pt;font-family:"Courier New";
color:black'> + $bookingRule);</span></font><font size=2 face="Courier New"><span
lang=EN-GB style='font-size:10.0pt;font-family:"Courier New"'><o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=black face="Courier New"><span
lang=EN-GB style='font-size:10.0pt;font-family:"Courier New";color:black'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;
$dealMatchingBookingRules.addMatchingBookingRule($bookingRule);</span></font><font
size=2 face="Courier New"><span lang=EN-GB style='font-size:10.0pt;font-family:
"Courier New"'><o:p></o:p></span></font></p>

<p class=MsoNormal><b><font size=2 color="#960000" face="Courier New"><span
lang=EN-GB style='font-size:10.0pt;font-family:"Courier New";color:#960000;
font-weight:bold'>end</span></font></b><font size=2 face="Courier New"><span
lang=EN-GB style='font-size:10.0pt;font-family:"Courier New"'><o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 face="Courier New"><span lang=EN-GB
style='font-size:10.0pt;font-family:"Courier New"'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoNormal><font size=2 color=olive face="Courier New"><span
lang=EN-GB style='font-size:10.0pt;font-family:"Courier New";color:olive'>//
used to tell Drools that our $dealMatchingBookingRules are ready for next step
in flow&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></font><font size=2
face="Courier New"><span lang=EN-GB style='font-size:10.0pt;font-family:"Courier New"'><o:p></o:p></span></font></p>

<p class=MsoNormal><b><font size=2 color="#960000" face="Courier New"><span
lang=EN-GB style='font-size:10.0pt;font-family:"Courier New";color:#960000;
font-weight:bold'>rule</span></font></b><font size=2 color=black
face="Courier New"><span lang=EN-GB style='font-size:10.0pt;font-family:"Courier New";
color:black'> </span></font><font size=2 color=green face="Courier New"><span
lang=EN-GB style='font-size:10.0pt;font-family:"Courier New";color:green'>&quot;Refresh&quot;</span></font><font
size=2 face="Courier New"><span lang=EN-GB style='font-size:10.0pt;font-family:
"Courier New"'><o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=black face="Courier New"><span
lang=EN-GB style='font-size:10.0pt;font-family:"Courier New";color:black'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></font><b><font size=2 color="#960000" face="Courier New"><span
lang=EN-GB style='font-size:10.0pt;font-family:"Courier New";color:#960000;
font-weight:bold'>salience</span></font></b><font size=2 color=black
face="Courier New"><span lang=EN-GB style='font-size:10.0pt;font-family:"Courier New";
color:black'> 5</span></font><font size=2 face="Courier New"><span lang=EN-GB
style='font-size:10.0pt;font-family:"Courier New"'><o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=black face="Courier New"><span
lang=EN-GB style='font-size:10.0pt;font-family:"Courier New";color:black'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></font><b><font size=2 color="#960000" face="Courier New"><span
lang=EN-GB style='font-size:10.0pt;font-family:"Courier New";color:#960000;
font-weight:bold'>no-loop</span></font></b><font size=2 color=black
face="Courier New"><span lang=EN-GB style='font-size:10.0pt;font-family:"Courier New";
color:black'> </span></font><font size=2 face="Courier New"><span lang=EN-GB
style='font-size:10.0pt;font-family:"Courier New"'><o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=black face="Courier New"><span
lang=EN-GB style='font-size:10.0pt;font-family:"Courier New";color:black'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></font><b><font size=2 color="#960000" face="Courier New"><span
lang=EN-GB style='font-size:10.0pt;font-family:"Courier New";color:#960000;
font-weight:bold'>ruleflow-group</span></font></b><font size=2 color=black
face="Courier New"><span lang=EN-GB style='font-size:10.0pt;font-family:"Courier New";
color:black'> </span></font><font size=2 color=green face="Courier New"><span
lang=EN-GB style='font-size:10.0pt;font-family:"Courier New";color:green'>&quot;Refresh&quot;</span></font><font
size=2 face="Courier New"><span lang=EN-GB style='font-size:10.0pt;font-family:
"Courier New"'><o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=black face="Courier New"><span
lang=EN-GB style='font-size:10.0pt;font-family:"Courier New";color:black'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></font><font size=2 face="Courier New"><span lang=EN-GB
style='font-size:10.0pt;font-family:"Courier New"'><o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=black face="Courier New"><span
lang=EN-GB style='font-size:10.0pt;font-family:"Courier New";color:black'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></font><b><font size=2 color="#960000" face="Courier New"><span
lang=EN-GB style='font-size:10.0pt;font-family:"Courier New";color:#960000;
font-weight:bold'>when</span></font></b><font size=2 face="Courier New"><span
lang=EN-GB style='font-size:10.0pt;font-family:"Courier New"'><o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=black face="Courier New"><span
lang=EN-GB style='font-size:10.0pt;font-family:"Courier New";color:black'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp; $dealMatchingBookingRules : DealMatchingBookingRules()</span></font><font
size=2 face="Courier New"><span lang=EN-GB style='font-size:10.0pt;font-family:
"Courier New"'><o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=black face="Courier New"><span
lang=EN-GB style='font-size:10.0pt;font-family:"Courier New";color:black'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></font><b><font size=2 color="#960000" face="Courier New"><span
lang=EN-GB style='font-size:10.0pt;font-family:"Courier New";color:#960000;
font-weight:bold'>then</span></font></b><font size=2 face="Courier New"><span
lang=EN-GB style='font-size:10.0pt;font-family:"Courier New"'><o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=black face="Courier New"><span
lang=EN-GB style='font-size:10.0pt;font-family:"Courier New";color:black'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Logger log = LoggerFactory.getLogger(</span></font><font size=2 color=green
face="Courier New"><span lang=EN-GB style='font-size:10.0pt;font-family:"Courier New";
color:green'>&quot;Matching booking rules LOGGER&quot;</span></font><font
size=2 color=black face="Courier New"><span lang=EN-GB style='font-size:10.0pt;
font-family:"Courier New";color:black'>);</span></font><font size=2
face="Courier New"><span lang=EN-GB style='font-size:10.0pt;font-family:"Courier New"'><o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=black face="Courier New"><span
lang=EN-GB style='font-size:10.0pt;font-family:"Courier New";color:black'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp; </span></font><b><font size=2 color="#960000"
face="Courier New"><span lang=EN-GB style='font-size:10.0pt;font-family:"Courier New";
color:#960000;font-weight:bold'>update</span></font></b><font size=2
color=black face="Courier New"><span lang=EN-GB style='font-size:10.0pt;
font-family:"Courier New";color:black'>($dealMatchingBookingRules);</span></font><font
size=2 face="Courier New"><span lang=EN-GB style='font-size:10.0pt;font-family:
"Courier New"'><o:p></o:p></span></font></p>

<p class=MsoNormal><b><font size=2 color="#960000" face="Courier New"><span
lang=EN-GB style='font-size:10.0pt;font-family:"Courier New";color:#960000;
font-weight:bold'>end</span></font></b><font size=2 face="Courier New"><span
lang=EN-GB style='font-size:10.0pt;font-family:"Courier New"'><o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=black face="Courier New"><span
lang=EN-GB style='font-size:10.0pt;font-family:"Courier New";color:black'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></font><font size=2 face="Courier New"><span lang=EN-GB
style='font-size:10.0pt;font-family:"Courier New"'><o:p></o:p></span></font></p>

<p class=MsoNormal><b><font size=2 color="#960000" face="Courier New"><span
lang=EN-GB style='font-size:10.0pt;font-family:"Courier New";color:#960000;
font-weight:bold'>rule</span></font></b><font size=2 color=black
face="Courier New"><span lang=EN-GB style='font-size:10.0pt;font-family:"Courier New";
color:black'> </span></font><font size=2 color=green face="Courier New"><span
lang=EN-GB style='font-size:10.0pt;font-family:"Courier New";color:green'>&quot;Apply
level 1 booking rule&quot;</span></font><font size=2 face="Courier New"><span
lang=EN-GB style='font-size:10.0pt;font-family:"Courier New"'><o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=black face="Courier New"><span
lang=EN-GB style='font-size:10.0pt;font-family:"Courier New";color:black'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></font><b><font size=2 color="#960000" face="Courier New"><span
lang=EN-GB style='font-size:10.0pt;font-family:"Courier New";color:#960000;
font-weight:bold'>no-loop</span></font></b><font size=2 color=black
face="Courier New"><span lang=EN-GB style='font-size:10.0pt;font-family:"Courier New";
color:black'> </span></font><font size=2 face="Courier New"><span lang=EN-GB
style='font-size:10.0pt;font-family:"Courier New"'><o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=black face="Courier New"><span
lang=EN-GB style='font-size:10.0pt;font-family:"Courier New";color:black'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></font><b><font size=2 color="#960000" face="Courier New"><span
lang=EN-GB style='font-size:10.0pt;font-family:"Courier New";color:#960000;
font-weight:bold'>ruleflow-group</span></font></b><font size=2 color=black
face="Courier New"><span lang=EN-GB style='font-size:10.0pt;font-family:"Courier New";
color:black'> </span></font><font size=2 color=green face="Courier New"><span
lang=EN-GB style='font-size:10.0pt;font-family:"Courier New";color:green'>&quot;Level
1 booking rule group&quot;</span></font><font size=2 face="Courier New"><span
lang=EN-GB style='font-size:10.0pt;font-family:"Courier New"'><o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=black face="Courier New"><span
lang=EN-GB style='font-size:10.0pt;font-family:"Courier New";color:black'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></font><font size=2 face="Courier New"><span lang=EN-GB
style='font-size:10.0pt;font-family:"Courier New"'><o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=black face="Courier New"><span
lang=EN-GB style='font-size:10.0pt;font-family:"Courier New";color:black'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></font><b><font size=2 color="#960000" face="Courier New"><span
lang=EN-GB style='font-size:10.0pt;font-family:"Courier New";color:#960000;
font-weight:bold'>when</span></font></b><font size=2 face="Courier New"><span
lang=EN-GB style='font-size:10.0pt;font-family:"Courier New"'><o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=black face="Courier New"><span
lang=EN-GB style='font-size:10.0pt;font-family:"Courier New";color:black'>&nbsp;&nbsp;&nbsp;
&nbsp; $dealMatchingBookingRules : DealMatchingBookingRules(
hasSingleMatchingLevel1BookingRule == </span></font><b><font size=2
color="#960000" face="Courier New"><span lang=EN-GB style='font-size:10.0pt;
font-family:"Courier New";color:#960000;font-weight:bold'>true</span></font></b><font
size=2 color=black face="Courier New"><span lang=EN-GB style='font-size:10.0pt;
font-family:"Courier New";color:black'> )</span></font><font size=2
face="Courier New"><span lang=EN-GB style='font-size:10.0pt;font-family:"Courier New"'><o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=black face="Courier New"><span
lang=EN-GB style='font-size:10.0pt;font-family:"Courier New";color:black'>&nbsp;&nbsp;&nbsp;
</span></font><b><font size=2 color="#960000" face="Courier New"><span
lang=EN-GB style='font-size:10.0pt;font-family:"Courier New";color:#960000;
font-weight:bold'>then</span></font></b><font size=2 face="Courier New"><span
lang=EN-GB style='font-size:10.0pt;font-family:"Courier New"'><o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=black face="Courier New"><span
lang=EN-GB style='font-size:10.0pt;font-family:"Courier New";color:black'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Logger log = LoggerFactory.getLogger(</span></font><font size=2 color=green
face="Courier New"><span lang=EN-GB style='font-size:10.0pt;font-family:"Courier New";
color:green'>&quot;Apply level 1 booking rule LOGGER&quot;</span></font><font
size=2 color=black face="Courier New"><span lang=EN-GB style='font-size:10.0pt;
font-family:"Courier New";color:black'>);</span></font><font size=2
face="Courier New"><span lang=EN-GB style='font-size:10.0pt;font-family:"Courier New"'><o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=black face="Courier New"><span
lang=EN-GB style='font-size:10.0pt;font-family:"Courier New";color:black'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp; MarketDealModel dealModel = $dealMatchingBookingRules.getDeal();</span></font><font
size=2 face="Courier New"><span lang=EN-GB style='font-size:10.0pt;font-family:
"Courier New"'><o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=black face="Courier New"><span
lang=EN-GB style='font-size:10.0pt;font-family:"Courier New";color:black'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
BTExecutionBookingRuleModel effectiveBookingRuleModel =
$dealMatchingBookingRules.getSingleMatchingLevel1BookingRule();</span></font><font
size=2 face="Courier New"><span lang=EN-GB style='font-size:10.0pt;font-family:
"Courier New"'><o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=black face="Courier New"><span
lang=EN-GB style='font-size:10.0pt;font-family:"Courier New";color:black'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
log.info(</span></font><font size=2 color=green face="Courier New"><span
lang=EN-GB style='font-size:10.0pt;font-family:"Courier New";color:green'>&quot;deal
: &quot;</span></font><font size=2 color=black face="Courier New"><span
lang=EN-GB style='font-size:10.0pt;font-family:"Courier New";color:black'> +
dealModel);</span></font><font size=2 face="Courier New"><span lang=EN-GB
style='font-size:10.0pt;font-family:"Courier New"'><o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=black face="Courier New"><span
lang=EN-GB style='font-size:10.0pt;font-family:"Courier New";color:black'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
log.info(</span></font><font size=2 color=green face="Courier New"><span
lang=EN-GB style='font-size:10.0pt;font-family:"Courier New";color:green'>&quot;matching
level 1 booking rule : &quot;</span></font><font size=2 color=black
face="Courier New"><span lang=EN-GB style='font-size:10.0pt;font-family:"Courier New";
color:black'> + effectiveBookingRuleModel);</span></font><font size=2
face="Courier New"><span lang=EN-GB style='font-size:10.0pt;font-family:"Courier New"'><o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=black face="Courier New"><span
lang=EN-GB style='font-size:10.0pt;font-family:"Courier New";color:black'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
effectiveBookingRuleModel.applyRuleOnDeal(dealModel);</span></font><font
size=2 face="Courier New"><span lang=EN-GB style='font-size:10.0pt;font-family:
"Courier New"'><o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=black face="Courier New"><span
lang=EN-GB style='font-size:10.0pt;font-family:"Courier New";color:black'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp; </span></font><b><font size=2 color="#960000"
face="Courier New"><span lang=EN-GB style='font-size:10.0pt;font-family:"Courier New";
color:#960000;font-weight:bold'>retract</span></font></b><font size=2
color=black face="Courier New"><span lang=EN-GB style='font-size:10.0pt;
font-family:"Courier New";color:black'>($dealMatchingBookingRules);</span></font><font
size=2 face="Courier New"><span lang=EN-GB style='font-size:10.0pt;font-family:
"Courier New"'><o:p></o:p></span></font></p>

<p class=MsoNormal><b><font size=2 color="#960000" face="Courier New"><span
lang=EN-GB style='font-size:10.0pt;font-family:"Courier New";color:#960000;
font-weight:bold'>end</span></font></b><font size=2 face="Courier New"><span
lang=EN-GB style='font-size:10.0pt;font-family:"Courier New"'><o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=black face="Courier New"><span
lang=EN-GB style='font-size:10.0pt;font-family:"Courier New";color:black'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></font><font size=2 face="Courier New"><span lang=EN-GB
style='font-size:10.0pt;font-family:"Courier New"'><o:p></o:p></span></font></p>

<p class=MsoNormal><b><font size=2 color="#960000" face="Courier New"><span
lang=EN-GB style='font-size:10.0pt;font-family:"Courier New";color:#960000;
font-weight:bold'>rule</span></font></b><font size=2 color=black
face="Courier New"><span lang=EN-GB style='font-size:10.0pt;font-family:"Courier New";
color:black'> </span></font><font size=2 color=green face="Courier New"><span
lang=EN-GB style='font-size:10.0pt;font-family:"Courier New";color:green'>&quot;Apply
level 2 booking rule&quot;</span></font><font size=2 face="Courier New"><span
lang=EN-GB style='font-size:10.0pt;font-family:"Courier New"'><o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=black face="Courier New"><span
lang=EN-GB style='font-size:10.0pt;font-family:"Courier New";color:black'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></font><b><font size=2 color="#960000" face="Courier New"><span
lang=EN-GB style='font-size:10.0pt;font-family:"Courier New";color:#960000;
font-weight:bold'>no-loop</span></font></b><font size=2 color=black
face="Courier New"><span lang=EN-GB style='font-size:10.0pt;font-family:"Courier New";
color:black'> </span></font><font size=2 face="Courier New"><span lang=EN-GB
style='font-size:10.0pt;font-family:"Courier New"'><o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=black face="Courier New"><span
lang=EN-GB style='font-size:10.0pt;font-family:"Courier New";color:black'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></font><b><font size=2 color="#960000" face="Courier New"><span
lang=EN-GB style='font-size:10.0pt;font-family:"Courier New";color:#960000;
font-weight:bold'>ruleflow-group</span></font></b><font size=2 color=black
face="Courier New"><span lang=EN-GB style='font-size:10.0pt;font-family:"Courier New";
color:black'> </span></font><font size=2 color=green face="Courier New"><span
lang=EN-GB style='font-size:10.0pt;font-family:"Courier New";color:green'>&quot;Level
2 booking rule group&quot;</span></font><font size=2 face="Courier New"><span
lang=EN-GB style='font-size:10.0pt;font-family:"Courier New"'><o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=black face="Courier New"><span
lang=EN-GB style='font-size:10.0pt;font-family:"Courier New";color:black'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></font><font size=2 face="Courier New"><span lang=EN-GB
style='font-size:10.0pt;font-family:"Courier New"'><o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=black face="Courier New"><span
lang=EN-GB style='font-size:10.0pt;font-family:"Courier New";color:black'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></font><b><font size=2 color="#960000" face="Courier New"><span
lang=EN-GB style='font-size:10.0pt;font-family:"Courier New";color:#960000;
font-weight:bold'>when</span></font></b><font size=2 face="Courier New"><span
lang=EN-GB style='font-size:10.0pt;font-family:"Courier New"'><o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=black face="Courier New"><span
lang=EN-GB style='font-size:10.0pt;font-family:"Courier New";color:black'>&nbsp;&nbsp;&nbsp;
&nbsp; $dealMatchingBookingRules : DealMatchingBookingRules(
hasSingleMatchingLevel2BookingRule == </span></font><b><font size=2
color="#960000" face="Courier New"><span lang=EN-GB style='font-size:10.0pt;
font-family:"Courier New";color:#960000;font-weight:bold'>true</span></font></b><font
size=2 color=black face="Courier New"><span lang=EN-GB style='font-size:10.0pt;
font-family:"Courier New";color:black'> )</span></font><font size=2
face="Courier New"><span lang=EN-GB style='font-size:10.0pt;font-family:"Courier New"'><o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=black face="Courier New"><span
lang=EN-GB style='font-size:10.0pt;font-family:"Courier New";color:black'>&nbsp;&nbsp;&nbsp;
</span></font><b><font size=2 color="#960000" face="Courier New"><span
lang=EN-GB style='font-size:10.0pt;font-family:"Courier New";color:#960000;
font-weight:bold'>then</span></font></b><font size=2 face="Courier New"><span
lang=EN-GB style='font-size:10.0pt;font-family:"Courier New"'><o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=black face="Courier New"><span
lang=EN-GB style='font-size:10.0pt;font-family:"Courier New";color:black'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Logger log = LoggerFactory.getLogger(</span></font><font size=2 color=green
face="Courier New"><span lang=EN-GB style='font-size:10.0pt;font-family:"Courier New";
color:green'>&quot;Apply level 2 booking rule LOGGER&quot;</span></font><font
size=2 color=black face="Courier New"><span lang=EN-GB style='font-size:10.0pt;
font-family:"Courier New";color:black'>);</span></font><font size=2
face="Courier New"><span lang=EN-GB style='font-size:10.0pt;font-family:"Courier New"'><o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=black face="Courier New"><span
lang=EN-GB style='font-size:10.0pt;font-family:"Courier New";color:black'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp; MarketDealModel dealModel = $dealMatchingBookingRules.getDeal();</span></font><font
size=2 face="Courier New"><span lang=EN-GB style='font-size:10.0pt;font-family:
"Courier New"'><o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=black face="Courier New"><span
lang=EN-GB style='font-size:10.0pt;font-family:"Courier New";color:black'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
BTExecutionBookingRuleModel effectiveBookingRuleModel =
$dealMatchingBookingRules.getSingleMatchingLevel2BookingRule();</span></font><font
size=2 face="Courier New"><span lang=EN-GB style='font-size:10.0pt;font-family:
"Courier New"'><o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=black face="Courier New"><span
lang=EN-GB style='font-size:10.0pt;font-family:"Courier New";color:black'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
log.info(</span></font><font size=2 color=green face="Courier New"><span
lang=EN-GB style='font-size:10.0pt;font-family:"Courier New";color:green'>&quot;deal
: &quot;</span></font><font size=2 color=black face="Courier New"><span
lang=EN-GB style='font-size:10.0pt;font-family:"Courier New";color:black'> +
dealModel);</span></font><font size=2 face="Courier New"><span lang=EN-GB
style='font-size:10.0pt;font-family:"Courier New"'><o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=black face="Courier New"><span
lang=EN-GB style='font-size:10.0pt;font-family:"Courier New";color:black'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
log.info(</span></font><font size=2 color=green face="Courier New"><span
lang=EN-GB style='font-size:10.0pt;font-family:"Courier New";color:green'>&quot;matching
level 2 booking rule : &quot;</span></font><font size=2 color=black
face="Courier New"><span lang=EN-GB style='font-size:10.0pt;font-family:"Courier New";
color:black'> + effectiveBookingRuleModel);</span></font><font size=2
face="Courier New"><span lang=EN-GB style='font-size:10.0pt;font-family:"Courier New"'><o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=black face="Courier New"><span
lang=EN-GB style='font-size:10.0pt;font-family:"Courier New";color:black'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
effectiveBookingRuleModel.applyRuleOnDeal(dealModel);</span></font><font
size=2 face="Courier New"><span lang=EN-GB style='font-size:10.0pt;font-family:
"Courier New"'><o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=black face="Courier New"><span
lang=EN-GB style='font-size:10.0pt;font-family:"Courier New";color:black'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp; </span></font><b><font size=2 color="#960000"
face="Courier New"><span lang=EN-GB style='font-size:10.0pt;font-family:"Courier New";
color:#960000;font-weight:bold'>retract</span></font></b><font size=2
color=black face="Courier New"><span lang=EN-GB style='font-size:10.0pt;
font-family:"Courier New";color:black'>($dealMatchingBookingRules);</span></font><font
size=2 face="Courier New"><span lang=EN-GB style='font-size:10.0pt;font-family:
"Courier New"'><o:p></o:p></span></font></p>

<p class=MsoNormal><b><font size=2 color="#960000" face="Courier New"><span
lang=EN-GB style='font-size:10.0pt;font-family:"Courier New";color:#960000;
font-weight:bold'>end</span></font></b><font size=2 face="Courier New"><span
lang=EN-GB style='font-size:10.0pt;font-family:"Courier New"'><o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=black face="Courier New"><span
lang=EN-GB style='font-size:10.0pt;font-family:"Courier New";color:black'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></font><font size=2 face="Courier New"><span lang=EN-GB
style='font-size:10.0pt;font-family:"Courier New"'><o:p></o:p></span></font></p>

<p class=MsoNormal><b><font size=2 color="#960000" face="Courier New"><span
lang=EN-GB style='font-size:10.0pt;font-family:"Courier New";color:#960000;
font-weight:bold'>rule</span></font></b><font size=2 color=black
face="Courier New"><span lang=EN-GB style='font-size:10.0pt;font-family:"Courier New";
color:black'> </span></font><font size=2 color=green face="Courier New"><span
lang=EN-GB style='font-size:10.0pt;font-family:"Courier New";color:green'>&quot;Apply
level 3 booking rule&quot;</span></font><font size=2 face="Courier New"><span
lang=EN-GB style='font-size:10.0pt;font-family:"Courier New"'><o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=black face="Courier New"><span
lang=EN-GB style='font-size:10.0pt;font-family:"Courier New";color:black'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></font><b><font size=2 color="#960000" face="Courier New"><span
lang=EN-GB style='font-size:10.0pt;font-family:"Courier New";color:#960000;
font-weight:bold'>no-loop</span></font></b><font size=2 color=black
face="Courier New"><span lang=EN-GB style='font-size:10.0pt;font-family:"Courier New";
color:black'> </span></font><font size=2 face="Courier New"><span lang=EN-GB
style='font-size:10.0pt;font-family:"Courier New"'><o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=black face="Courier New"><span
lang=EN-GB style='font-size:10.0pt;font-family:"Courier New";color:black'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></font><b><font size=2 color="#960000" face="Courier New"><span
lang=EN-GB style='font-size:10.0pt;font-family:"Courier New";color:#960000;
font-weight:bold'>ruleflow-group</span></font></b><font size=2 color=black
face="Courier New"><span lang=EN-GB style='font-size:10.0pt;font-family:"Courier New";
color:black'> </span></font><font size=2 color=green face="Courier New"><span
lang=EN-GB style='font-size:10.0pt;font-family:"Courier New";color:green'>&quot;Level
3 booking rule group&quot;</span></font><font size=2 face="Courier New"><span
lang=EN-GB style='font-size:10.0pt;font-family:"Courier New"'><o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=black face="Courier New"><span
lang=EN-GB style='font-size:10.0pt;font-family:"Courier New";color:black'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></font><font size=2 face="Courier New"><span lang=EN-GB
style='font-size:10.0pt;font-family:"Courier New"'><o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=black face="Courier New"><span
lang=EN-GB style='font-size:10.0pt;font-family:"Courier New";color:black'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></font><b><font size=2 color="#960000" face="Courier New"><span
lang=EN-GB style='font-size:10.0pt;font-family:"Courier New";color:#960000;
font-weight:bold'>when</span></font></b><font size=2 face="Courier New"><span
lang=EN-GB style='font-size:10.0pt;font-family:"Courier New"'><o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=black face="Courier New"><span
lang=EN-GB style='font-size:10.0pt;font-family:"Courier New";color:black'>&nbsp;&nbsp;&nbsp;
&nbsp; $dealMatchingBookingRules : DealMatchingBookingRules(
hasSingleMatchingLevel3BookingRule == </span></font><b><font size=2
color="#960000" face="Courier New"><span lang=EN-GB style='font-size:10.0pt;
font-family:"Courier New";color:#960000;font-weight:bold'>true</span></font></b><font
size=2 color=black face="Courier New"><span lang=EN-GB style='font-size:10.0pt;
font-family:"Courier New";color:black'> )</span></font><font size=2
face="Courier New"><span lang=EN-GB style='font-size:10.0pt;font-family:"Courier New"'><o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=black face="Courier New"><span
lang=EN-GB style='font-size:10.0pt;font-family:"Courier New";color:black'>&nbsp;&nbsp;&nbsp;
</span></font><b><font size=2 color="#960000" face="Courier New"><span
lang=EN-GB style='font-size:10.0pt;font-family:"Courier New";color:#960000;
font-weight:bold'>then</span></font></b><font size=2 face="Courier New"><span
lang=EN-GB style='font-size:10.0pt;font-family:"Courier New"'><o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=black face="Courier New"><span
lang=EN-GB style='font-size:10.0pt;font-family:"Courier New";color:black'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Logger log = LoggerFactory.getLogger(</span></font><font size=2 color=green
face="Courier New"><span lang=EN-GB style='font-size:10.0pt;font-family:"Courier New";
color:green'>&quot;Apply level 3 booking rule LOGGER&quot;</span></font><font
size=2 color=black face="Courier New"><span lang=EN-GB style='font-size:10.0pt;
font-family:"Courier New";color:black'>);</span></font><font size=2
face="Courier New"><span lang=EN-GB style='font-size:10.0pt;font-family:"Courier New"'><o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=black face="Courier New"><span
lang=EN-GB style='font-size:10.0pt;font-family:"Courier New";color:black'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp; MarketDealModel dealModel =
$dealMatchingBookingRules.getDeal();</span></font><font size=2
face="Courier New"><span lang=EN-GB style='font-size:10.0pt;font-family:"Courier New"'><o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=black face="Courier New"><span
lang=EN-GB style='font-size:10.0pt;font-family:"Courier New";color:black'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
BTExecutionBookingRuleModel effectiveBookingRuleModel =
$dealMatchingBookingRules.getSingleMatchingLevel3BookingRule();</span></font><font
size=2 face="Courier New"><span lang=EN-GB style='font-size:10.0pt;font-family:
"Courier New"'><o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=black face="Courier New"><span
lang=EN-GB style='font-size:10.0pt;font-family:"Courier New";color:black'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
log.info(</span></font><font size=2 color=green face="Courier New"><span
lang=EN-GB style='font-size:10.0pt;font-family:"Courier New";color:green'>&quot;deal
: &quot;</span></font><font size=2 color=black face="Courier New"><span
lang=EN-GB style='font-size:10.0pt;font-family:"Courier New";color:black'> +
dealModel);</span></font><font size=2 face="Courier New"><span lang=EN-GB
style='font-size:10.0pt;font-family:"Courier New"'><o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=black face="Courier New"><span
lang=EN-GB style='font-size:10.0pt;font-family:"Courier New";color:black'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
log.info(</span></font><font size=2 color=green face="Courier New"><span
lang=EN-GB style='font-size:10.0pt;font-family:"Courier New";color:green'>&quot;matching
level 3 booking rule : &quot;</span></font><font size=2 color=black
face="Courier New"><span lang=EN-GB style='font-size:10.0pt;font-family:"Courier New";
color:black'> + effectiveBookingRuleModel);</span></font><font size=2
face="Courier New"><span lang=EN-GB style='font-size:10.0pt;font-family:"Courier New"'><o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=black face="Courier New"><span
lang=EN-GB style='font-size:10.0pt;font-family:"Courier New";color:black'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
effectiveBookingRuleModel.applyRuleOnDeal(dealModel);</span></font><font
size=2 face="Courier New"><span lang=EN-GB style='font-size:10.0pt;font-family:
"Courier New"'><o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=black face="Courier New"><span
lang=EN-GB style='font-size:10.0pt;font-family:"Courier New";color:black'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp; </span></font><b><font size=2 color="#960000"
face="Courier New"><span lang=EN-GB style='font-size:10.0pt;font-family:"Courier New";
color:#960000;font-weight:bold'>retract</span></font></b><font size=2
color=black face="Courier New"><span lang=EN-GB style='font-size:10.0pt;
font-family:"Courier New";color:black'>($dealMatchingBookingRules);</span></font><font
size=2 face="Courier New"><span lang=EN-GB style='font-size:10.0pt;font-family:
"Courier New"'><o:p></o:p></span></font></p>

<p class=MsoNormal><b><font size=2 color="#960000" face="Courier New"><span
lang=EN-GB style='font-size:10.0pt;font-family:"Courier New";color:#960000;
font-weight:bold'>end</span></font></b><font size=2 face="Courier New"><span
lang=EN-GB style='font-size:10.0pt;font-family:"Courier New"'><o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=black face="Courier New"><span
lang=EN-GB style='font-size:10.0pt;font-family:"Courier New";color:black'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></font><font size=2 face="Courier New"><span lang=EN-GB
style='font-size:10.0pt;font-family:"Courier New"'><o:p></o:p></span></font></p>

<p class=MsoNormal><b><font size=2 color="#960000" face="Courier New"><span
lang=EN-GB style='font-size:10.0pt;font-family:"Courier New";color:#960000;
font-weight:bold'>rule</span></font></b><font size=2 color=black
face="Courier New"><span lang=EN-GB style='font-size:10.0pt;font-family:"Courier New";
color:black'> </span></font><font size=2 color=green face="Courier New"><span
lang=EN-GB style='font-size:10.0pt;font-family:"Courier New";color:green'>&quot;Apply
level 4 booking rule&quot;</span></font><font size=2 face="Courier New"><span
lang=EN-GB style='font-size:10.0pt;font-family:"Courier New"'><o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=black face="Courier New"><span
lang=EN-GB style='font-size:10.0pt;font-family:"Courier New";color:black'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></font><b><font size=2 color="#960000" face="Courier New"><span
lang=EN-GB style='font-size:10.0pt;font-family:"Courier New";color:#960000;
font-weight:bold'>no-loop</span></font></b><font size=2 color=black
face="Courier New"><span lang=EN-GB style='font-size:10.0pt;font-family:"Courier New";
color:black'> </span></font><font size=2 face="Courier New"><span lang=EN-GB
style='font-size:10.0pt;font-family:"Courier New"'><o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=black face="Courier New"><span
lang=EN-GB style='font-size:10.0pt;font-family:"Courier New";color:black'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></font><b><font size=2 color="#960000" face="Courier New"><span
lang=EN-GB style='font-size:10.0pt;font-family:"Courier New";color:#960000;
font-weight:bold'>ruleflow-group</span></font></b><font size=2 color=black
face="Courier New"><span lang=EN-GB style='font-size:10.0pt;font-family:"Courier New";
color:black'> </span></font><font size=2 color=green face="Courier New"><span
lang=EN-GB style='font-size:10.0pt;font-family:"Courier New";color:green'>&quot;Level
4 booking rule group&quot;</span></font><font size=2 face="Courier New"><span
lang=EN-GB style='font-size:10.0pt;font-family:"Courier New"'><o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=black face="Courier New"><span
lang=EN-GB style='font-size:10.0pt;font-family:"Courier New";color:black'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></font><font size=2 face="Courier New"><span lang=EN-GB
style='font-size:10.0pt;font-family:"Courier New"'><o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=black face="Courier New"><span
lang=EN-GB style='font-size:10.0pt;font-family:"Courier New";color:black'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></font><b><font size=2 color="#960000" face="Courier New"><span
lang=EN-GB style='font-size:10.0pt;font-family:"Courier New";color:#960000;
font-weight:bold'>when</span></font></b><font size=2 face="Courier New"><span
lang=EN-GB style='font-size:10.0pt;font-family:"Courier New"'><o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=black face="Courier New"><span
lang=EN-GB style='font-size:10.0pt;font-family:"Courier New";color:black'>&nbsp;&nbsp;&nbsp;
&nbsp; $dealMatchingBookingRules : DealMatchingBookingRules(
hasSingleMatchingLevel4BookingRule == </span></font><b><font size=2
color="#960000" face="Courier New"><span lang=EN-GB style='font-size:10.0pt;
font-family:"Courier New";color:#960000;font-weight:bold'>true</span></font></b><font
size=2 color=black face="Courier New"><span lang=EN-GB style='font-size:10.0pt;
font-family:"Courier New";color:black'> )</span></font><font size=2
face="Courier New"><span lang=EN-GB style='font-size:10.0pt;font-family:"Courier New"'><o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=black face="Courier New"><span
lang=EN-GB style='font-size:10.0pt;font-family:"Courier New";color:black'>&nbsp;&nbsp;&nbsp;
</span></font><b><font size=2 color="#960000" face="Courier New"><span
lang=EN-GB style='font-size:10.0pt;font-family:"Courier New";color:#960000;
font-weight:bold'>then</span></font></b><font size=2 face="Courier New"><span
lang=EN-GB style='font-size:10.0pt;font-family:"Courier New"'><o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=black face="Courier New"><span
lang=EN-GB style='font-size:10.0pt;font-family:"Courier New";color:black'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Logger log = LoggerFactory.getLogger(</span></font><font size=2 color=green
face="Courier New"><span lang=EN-GB style='font-size:10.0pt;font-family:"Courier New";
color:green'>&quot;Apply level 4 booking rule LOGGER&quot;</span></font><font
size=2 color=black face="Courier New"><span lang=EN-GB style='font-size:10.0pt;
font-family:"Courier New";color:black'>);</span></font><font size=2
face="Courier New"><span lang=EN-GB style='font-size:10.0pt;font-family:"Courier New"'><o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=black face="Courier New"><span
lang=EN-GB style='font-size:10.0pt;font-family:"Courier New";color:black'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp; MarketDealModel dealModel =
$dealMatchingBookingRules.getDeal();</span></font><font size=2
face="Courier New"><span lang=EN-GB style='font-size:10.0pt;font-family:"Courier New"'><o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=black face="Courier New"><span
lang=EN-GB style='font-size:10.0pt;font-family:"Courier New";color:black'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
BTExecutionBookingRuleModel effectiveBookingRuleModel =
$dealMatchingBookingRules.getSingleMatchingLevel4BookingRule();</span></font><font
size=2 face="Courier New"><span lang=EN-GB style='font-size:10.0pt;font-family:
"Courier New"'><o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=black face="Courier New"><span
lang=EN-GB style='font-size:10.0pt;font-family:"Courier New";color:black'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
log.info(</span></font><font size=2 color=green face="Courier New"><span
lang=EN-GB style='font-size:10.0pt;font-family:"Courier New";color:green'>&quot;deal
: &quot;</span></font><font size=2 color=black face="Courier New"><span
lang=EN-GB style='font-size:10.0pt;font-family:"Courier New";color:black'> +
dealModel);</span></font><font size=2 face="Courier New"><span lang=EN-GB
style='font-size:10.0pt;font-family:"Courier New"'><o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=black face="Courier New"><span
lang=EN-GB style='font-size:10.0pt;font-family:"Courier New";color:black'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
log.info(</span></font><font size=2 color=green face="Courier New"><span
lang=EN-GB style='font-size:10.0pt;font-family:"Courier New";color:green'>&quot;matching
level 4 booking rule : &quot;</span></font><font size=2 color=black
face="Courier New"><span lang=EN-GB style='font-size:10.0pt;font-family:"Courier New";
color:black'> + effectiveBookingRuleModel);</span></font><font size=2
face="Courier New"><span lang=EN-GB style='font-size:10.0pt;font-family:"Courier New"'><o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=black face="Courier New"><span
lang=EN-GB style='font-size:10.0pt;font-family:"Courier New";color:black'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
effectiveBookingRuleModel.applyRuleOnDeal(dealModel);</span></font><font
size=2 face="Courier New"><span lang=EN-GB style='font-size:10.0pt;font-family:
"Courier New"'><o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=black face="Courier New"><span
lang=EN-GB style='font-size:10.0pt;font-family:"Courier New";color:black'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp; </span></font><b><font size=2 color="#960000"
face="Courier New"><span lang=EN-GB style='font-size:10.0pt;font-family:"Courier New";
color:#960000;font-weight:bold'>retract</span></font></b><font size=2
color=black face="Courier New"><span lang=EN-GB style='font-size:10.0pt;
font-family:"Courier New";color:black'>($dealMatchingBookingRules);</span></font><font
size=2 face="Courier New"><span lang=EN-GB style='font-size:10.0pt;font-family:
"Courier New"'><o:p></o:p></span></font></p>

<p class=MsoNormal><b><font size=2 color="#960000" face="Courier New"><span
style='font-size:10.0pt;font-family:"Courier New";color:#960000;font-weight:
bold'>end</span></font></b><font size=2 face="Courier New"><span
style='font-size:10.0pt;font-family:"Courier New"'><o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=blue face=Verdana><span style='font-size:
10.0pt;font-family:Verdana;color:blue'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoNormal><font size=2 color=blue face=Verdana><span style='font-size:
10.0pt;font-family:Verdana;color:blue'><o:p>&nbsp;</o:p></span></font></p>

<div>

<div class=MsoNormal align=center style='text-align:center'><font size=3
face="Times New Roman"><span style='font-size:12.0pt'>

<hr size=2 width="100%" align=center tabindex=-1>

</span></font></div>

<p class=MsoNormal><b><font size=2 face=Tahoma><span style='font-size:10.0pt;
font-family:Tahoma;font-weight:bold'>De&nbsp;:</span></font></b><font size=2
face=Tahoma><span style='font-size:10.0pt;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> Costigliola Joel (EXT)<br>
<b><span style='font-weight:bold'>Envoy&#233;&nbsp;:</span></b> vendredi 11
septembre 2009 14:04<br>
<b><span style='font-weight:bold'>&#192;&nbsp;:</span></b> '<st1:PersonName w:st="on">Rules
 Users List</st1:PersonName>'<br>
<b><span style='font-weight:bold'>Objet&nbsp;:</span></b> Re: [rules-users]
Memory error when inserting facts instatefulsession</span></font><o:p></o:p></p>

</div>

<p class=MsoNormal><font size=3 face="Times New Roman"><span style='font-size:
12.0pt'><o:p>&nbsp;</o:p></span></font></p>

<div>

<div>

<p class=MsoNormal><font size=2 color=blue face=Verdana><span lang=EN-GB
style='font-size:10.0pt;font-family:Verdana;color:blue'>Mike and Wolfgang, things
are clearer now, I will definitely try to your suggestions.<u1:p></u1:p></span></font><o:p></o:p></p>

<p class=MsoNormal><font size=2 color=blue face=Verdana><span lang=EN-GB
style='font-size:10.0pt;font-family:Verdana;color:blue'><u1:p>&nbsp;</u1:p></span></font><o:p></o:p></p>

<p class=MsoNormal><font size=2 color=blue face=Verdana><span lang=EN-GB
style='font-size:10.0pt;font-family:Verdana;color:blue'>Thanks for the help,<u1:p></u1:p></span></font><o:p></o:p></p>

<p class=MsoNormal><font size=2 color=blue face=Verdana><span lang=EN-GB
style='font-size:10.0pt;font-family:Verdana;color:blue'><u1:p>&nbsp;</u1:p></span></font><o:p></o:p></p>

<p class=MsoNormal><font size=2 color=blue face=Verdana><span lang=EN-GB
style='font-size:10.0pt;font-family:Verdana;color:blue'>Joel<u1:p></u1:p></span></font><o:p></o:p></p>

<div>

<div class=MsoNormal align=center style='text-align:center'><font size=3
face="Times New Roman"><span style='font-size:12.0pt'>

<hr size=2 width="100%" align=center tabindex=-1>

</span></font></div>

<p class=MsoNormal><b><font size=2 face=Tahoma><span style='font-size:10.0pt;
font-family:Tahoma;font-weight:bold'>De&nbsp;:</span></font></b><font size=2
face=Tahoma><span style='font-size:10.0pt;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> Wolfgang Laun<br>
<b><span style='font-weight:bold'>Envoy&#233;&nbsp;:</span></b> vendredi 11
septembre 2009 12:42<br>
<b><span style='font-weight:bold'>&#192;&nbsp;:</span></b> <st1:PersonName w:st="on">Rules
 Users List</st1:PersonName><br>
<b><span style='font-weight:bold'>Objet&nbsp;:</span></b> Re: [rules-users]
Memory error when inserting facts in statefulsession</span></font><u1:p></u1:p><o:p></o:p></p>

</div>

<p class=MsoNormal><font size=3 face="Times New Roman"><span style='font-size:
12.0pt'><u1:p>&nbsp;</u1:p><o:p></o:p></span></font></p>

<p class=MsoNormal style='margin-bottom:12.0pt'><font size=3
face="Times New Roman"><span style='font-size:12.0pt'>Hello Joel,<br>
<br>
nothing on the LHS (between when and then) matters when a rule fires; so eval()
and all other CEs are evaluated when facts are inserted.<br>
<br>
So, trying to get rid of the eval's would be worthwhile.<br>
<br>
The second thing (and I agree with Michael) is that you shoudl get rid of
collect, which causes the delay during insertion. I'd also use a Collector fact
with attributes for deal, a booking rule and a count.<br>
<br>
rule addCollector<br>
when<br>
&nbsp;&nbsp;&nbsp; $deal: </span></font><font size=2 color=black
face="Courier New"><span lang=EN-GB style='font-size:10.0pt;font-family:"Courier New";
color:black'>MarketDealModel()<br>
&nbsp;&nbsp; not (Collector( deal == $deal )<br>
then<br>
&nbsp;&nbsp; insert( new Collector( &#167;deal ) );<br>
end<br>
<br>
When there is a matching Collector and a BTExecutionBookingRuleModel matches </span></font>the
deal:<br>
then<br>
&nbsp;modify the collector by incrementing the count and storing the matched
booking rule<br>
<br>
At a lower salience, add 2 rules matching a collector with count == 1 and count
!= 1 with obvious consequences. (The second one could switch to the next level
activation group.)<br>
<br>
HTH<br>
Wolfgang<br>
<br>
&nbsp;&nbsp;&nbsp; <br>
<br>
<br>
<o:p></o:p></p>

<u1:p></u1:p>

<div>

<p class=MsoNormal><font size=3 face="Times New Roman"><span style='font-size:
12.0pt'>2009/9/11 Costigliola Joel (EXT) &lt;<a
href="mailto:joel.costigliola-ext@natixis.com">joel.costigliola-ext@natixis.com</a>&gt;<u1:p></u1:p><o:p></o:p></span></font></p>

<div link=blue vlink=purple>

<div>

<div>

<div>

<p><font size=2 color=blue face=Verdana><span style='font-size:10.0pt;
font-family:Verdana;color:blue'>Hi Mike,</span></font><u1:p></u1:p><o:p></o:p></p>

<p><font size=2 color=blue face=Verdana><span style='font-size:10.0pt;
font-family:Verdana;color:blue'>&nbsp;</span></font><u1:p></u1:p><o:p></o:p></p>

<p><font size=2 color=blue face=Verdana><span lang=EN-GB style='font-size:10.0pt;
font-family:Verdana;color:blue'>Quick reply, thanks&nbsp;!</span></font><u1:p></u1:p><o:p></o:p></p>

<p><font size=2 color=blue face=Verdana><span lang=EN-GB style='font-size:10.0pt;
font-family:Verdana;color:blue'>&nbsp;</span></font><u1:p></u1:p><o:p></o:p></p>

<p><font size=2 color=blue face=Verdana><span lang=EN-GB style='font-size:10.0pt;
font-family:Verdana;color:blue'>I think I can&#8217;t use &#171;&nbsp;exists&nbsp;&#187;
because I want one and only one booking rule of a specific level (LEVEL_1,
LEVEL_2, &#8230;) matching a deal, that&#8217;s why the bookingRuleModels list collected
should only contain 1 booking rule. This explain why in the RHS I&#8217;m getting the
first booking rule (bookingRuleModels.get(0)).</span></font><u1:p></u1:p><o:p></o:p></p>

<p><font size=2 color=blue face=Verdana><span lang=EN-GB style='font-size:10.0pt;
font-family:Verdana;color:blue'>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 &#8230;</span></font><u1:p></u1:p><o:p></o:p></p>

<p><font size=2 color=blue face=Verdana><span lang=EN-GB style='font-size:10.0pt;
font-family:Verdana;color:blue'>&nbsp;</span></font><u1:p></u1:p><o:p></o:p></p>

<p><font size=2 color=blue face=Verdana><span lang=EN-GB style='font-size:10.0pt;
font-family:Verdana;color:blue'>Hope you get the idea.</span></font><u1:p></u1:p><o:p></o:p></p>

<p><font size=2 color=blue face=Verdana><span lang=EN-GB style='font-size:10.0pt;
font-family:Verdana;color:blue'>&nbsp;</span></font><u1:p></u1:p><o:p></o:p></p>

<p><font size=2 color=blue face=Verdana><span lang=EN-GB style='font-size:10.0pt;
font-family:Verdana;color:blue'>The matchXXX function compare the XXX criterion
of a booking rule (ex Trader) with the corresponding Deal attribute (ex Trader).</span></font><u1:p></u1:p><o:p></o:p></p>

<p><font size=2 color=blue face=Verdana><span lang=EN-GB style='font-size:10.0pt;
font-family:Verdana;color:blue'>Here&#8217;s the implementation for comparing trader
criterion, note that if a booking rule does not specify a criterion it is
considered as matched.</span></font><u1:p></u1:p><o:p></o:p></p>

<p><font size=2 color=blue face=Verdana><span lang=EN-GB style='font-size:10.0pt;
font-family:Verdana;color:blue'>&nbsp;</span></font><u1:p></u1:p><o:p></o:p></p>

<p><font size=2 color=black face="Courier New"><span lang=EN-GB
style='font-size:10.0pt;font-family:"Courier New";color:black'>&nbsp; </span></font><b><font
size=2 color="#7f0055" face="Courier New"><span lang=EN-GB style='font-size:
10.0pt;font-family:"Courier New";color:#7F0055;font-weight:bold'>private</span></font></b><font
size=2 color=black face="Courier New"><span lang=EN-GB style='font-size:10.0pt;
font-family:"Courier New";color:black'> </span></font><b><font size=2
color="#7f0055" face="Courier New"><span lang=EN-GB style='font-size:10.0pt;
font-family:"Courier New";color:#7F0055;font-weight:bold'>static</span></font></b><font
size=2 color=black face="Courier New"><span lang=EN-GB style='font-size:10.0pt;
font-family:"Courier New";color:black'> </span></font><b><font size=2
color="#7f0055" face="Courier New"><span lang=EN-GB style='font-size:10.0pt;
font-family:"Courier New";color:#7F0055;font-weight:bold'>boolean</span></font></b><font
size=2 color=black face="Courier New"><span lang=EN-GB style='font-size:10.0pt;
font-family:"Courier New";color:black'> matchCriterion(NorthIdEntity&lt;?&gt;
ruleCriterionModel, NorthIdEntity&lt;?&gt; model) {</span></font><u1:p></u1:p><o:p></o:p></p>

<p><font size=2 color=black face="Courier New"><span lang=EN-GB
style='font-size:10.0pt;font-family:"Courier New";color:black'>&nbsp;&nbsp;&nbsp;
</span></font><b><font size=2 color="#7f0055" face="Courier New"><span
lang=EN-GB style='font-size:10.0pt;font-family:"Courier New";color:#7F0055;
font-weight:bold'>if</span></font></b><font size=2 color=black
face="Courier New"><span lang=EN-GB style='font-size:10.0pt;font-family:"Courier New";
color:black'> (ruleCriterionModel == </span></font><b><font size=2
color="#7f0055" face="Courier New"><span lang=EN-GB style='font-size:10.0pt;
font-family:"Courier New";color:#7F0055;font-weight:bold'>null</span></font></b><font
size=2 color=black face="Courier New"><span lang=EN-GB style='font-size:10.0pt;
font-family:"Courier New";color:black'>) {</span></font><u1:p></u1:p><o:p></o:p></p>

<p><font size=2 color=black face="Courier New"><span lang=EN-GB
style='font-size:10.0pt;font-family:"Courier New";color:black'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></font><font size=2 color="#3f7f5f" face="Courier New"><span lang=EN-GB
style='font-size:10.0pt;font-family:"Courier New";color:#3F7F5F'>// no
criterion =&gt; matching ok</span></font><u1:p></u1:p><o:p></o:p></p>

<p><font size=2 color=black face="Courier New"><span lang=EN-GB
style='font-size:10.0pt;font-family:"Courier New";color:black'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></font><b><font size=2 color="#7f0055" face="Courier New"><span
lang=EN-GB style='font-size:10.0pt;font-family:"Courier New";color:#7F0055;
font-weight:bold'>return</span></font></b><font size=2 color=black
face="Courier New"><span lang=EN-GB style='font-size:10.0pt;font-family:"Courier New";
color:black'> </span></font><b><font size=2 color="#7f0055" face="Courier New"><span
lang=EN-GB style='font-size:10.0pt;font-family:"Courier New";color:#7F0055;
font-weight:bold'>true</span></font></b><font size=2 color=black
face="Courier New"><span lang=EN-GB style='font-size:10.0pt;font-family:"Courier New";
color:black'>;</span></font><u1:p></u1:p><o:p></o:p></p>

<p><font size=2 color=black face="Courier New"><span lang=EN-GB
style='font-size:10.0pt;font-family:"Courier New";color:black'>&nbsp;&nbsp;&nbsp;
}</span></font><u1:p></u1:p><o:p></o:p></p>

<p><font size=2 color=black face="Courier New"><span lang=EN-GB
style='font-size:10.0pt;font-family:"Courier New";color:black'>&nbsp;&nbsp;&nbsp;
</span></font><b><font size=2 color="#7f0055" face="Courier New"><span
lang=EN-GB style='font-size:10.0pt;font-family:"Courier New";color:#7F0055;
font-weight:bold'>return</span></font></b><font size=2 color=black
face="Courier New"><span lang=EN-GB style='font-size:10.0pt;font-family:"Courier New";
color:black'> ruleCriterionModel.<span style='-moz-background-clip: -moz-initial;
-moz-background-origin: -moz-initial;-moz-background-inline-policy: -moz-initial;
background-position-x:0%;background-position-y:
0%;background-attachment:scroll'><span
style='background:silver'>equals</span></span>(model);</span></font><u1:p></u1:p><o:p></o:p></p>

<p><font size=2 color=black face="Courier New"><span lang=EN-GB
style='font-size:10.0pt;font-family:"Courier New";color:black'>&nbsp; </span></font><font
size=2 color=black face="Courier New"><span style='font-size:10.0pt;font-family:
"Courier New";color:black'>}</span></font><u1:p></u1:p><o:p></o:p></p>

<p><font size=2 color=blue face=Verdana><span lang=EN-GB style='font-size:10.0pt;
font-family:Verdana;color:blue'>&nbsp;</span></font><u1:p></u1:p><o:p></o:p></p>

<p><font size=2 color=blue face=Verdana><span lang=EN-GB style='font-size:10.0pt;
font-family:Verdana;color:blue'>I have read that eval is not performant but I
thought it was only when executing rules not at facts insertion phase.</span></font><u1:p></u1:p><o:p></o:p></p>

<p><font size=2 color=blue face=Verdana><span lang=EN-GB style='font-size:10.0pt;
font-family:Verdana;color:blue'>Is this coorect or is eval impacting negatively
facts insertion ? </span></font><u1:p></u1:p><o:p></o:p></p>

<p><font size=2 color=blue face=Verdana><span lang=EN-GB style='font-size:10.0pt;
font-family:Verdana;color:blue'>&nbsp;</span></font><u1:p></u1:p><o:p></o:p></p>

<p><font size=2 color=blue face=Verdana><span lang=EN-GB style='font-size:10.0pt;
font-family:Verdana;color:blue'>Another idea comes to my mind : can I use a
stateless session since once a deal is classified/booked we don&#8217;t want to
process it again ? </span></font><u1:p></u1:p><o:p></o:p></p>

<p><font size=2 color=blue face=Verdana><span lang=EN-GB style='font-size:10.0pt;
font-family:Verdana;color:blue'>&nbsp;</span></font><u1:p></u1:p><o:p></o:p></p>

<p><font size=2 color=blue face=Verdana><span lang=EN-GB style='font-size:10.0pt;
font-family:Verdana;color:blue'>To finish I forgot to give informations on my
environment, it may be useful :</span></font><u1:p></u1:p><o:p></o:p></p>

<p><font size=2 color=blue face=Verdana><span lang=EN-GB style='font-size:10.0pt;
font-family:Verdana;color:blue'>- Drools version 5.01</span></font><u1:p></u1:p><o:p></o:p></p>

<p><font size=2 color=blue face=Verdana><span lang=EN-GB style='font-size:10.0pt;
font-family:Verdana;color:blue'>- java 6 </span></font><u1:p></u1:p><o:p></o:p></p>

<p><font size=2 color=blue face=Verdana><span lang=EN-GB style='font-size:10.0pt;
font-family:Verdana;color:blue'>- launching my server with following memory
options : -Xms256m -Xmx1024m</span></font><u1:p></u1:p><o:p></o:p></p>

<p><font size=2 color=blue face=Verdana><span lang=EN-GB style='font-size:10.0pt;
font-family:Verdana;color:blue'>&nbsp;</span></font><u1:p></u1:p><o:p></o:p></p>

<p><font size=2 color=blue face=Verdana><span lang=EN-GB style='font-size:10.0pt;
font-family:Verdana;color:blue'>&nbsp;</span></font><u1:p></u1:p><o:p></o:p></p>

<p><font size=2 color=blue face=Verdana><span lang=EN-GB style='font-size:10.0pt;
font-family:Verdana;color:blue'>Thanks again for your thought,</span></font><u1:p></u1:p><o:p></o:p></p>

<p><font size=2 color=blue face=Verdana><span lang=EN-GB style='font-size:10.0pt;
font-family:Verdana;color:blue'>&nbsp;</span></font><u1:p></u1:p><o:p></o:p></p>

<p><font size=2 color=blue face=Verdana><span lang=EN-GB style='font-size:10.0pt;
font-family:Verdana;color:blue'>Joel</span></font><u1:p></u1:p><o:p></o:p></p>

<p><font size=2 color=blue face=Verdana><span lang=EN-GB style='font-size:10.0pt;
font-family:Verdana;color:blue'>&nbsp;</span></font><u1:p></u1:p><o:p></o:p></p>

<div>

<div class=MsoNormal align=center style='text-align:center'><font size=3
face="Times New Roman"><span style='font-size:12.0pt'>

<hr size=2 width="100%" align=center>

</span></font></div>

<p><b><font size=2 face=Tahoma><span style='font-size:10.0pt;font-family:Tahoma;
font-weight:bold'>De&nbsp;:</span></font></b><font size=2 face=Tahoma><span
style='font-size:10.0pt;font-family:Tahoma'> <a
href="mailto:rules-users-bounces@lists.jboss.org" target="_blank">rules-users-bounces@lists.jboss.org</a>
[mailto:<a href="mailto:rules-users-bounces@lists.jboss.org" target="_blank">rules-users-bounces@lists.jboss.org</a>]
<b><span style='font-weight:bold'>De la part de</span></b> Anstis, Michael (M.)<br>
<b><span style='font-weight:bold'>Envoy&#233;&nbsp;:</span></b> vendredi 11
septembre 2009 10:35<br>
<b><span style='font-weight:bold'>&#192;&nbsp;:</span></b> <st1:PersonName w:st="on">Rules
 Users List</st1:PersonName><br>
<b><span style='font-weight:bold'>Objet&nbsp;:</span></b> Re: [rules-users]
Memory error when inserting facts in stateful session</span></font><u1:p></u1:p><o:p></o:p></p>

</div>

<div>

<div>

<p><font size=3 face="Times New Roman"><span style='font-size:12.0pt'>&nbsp;<u1:p></u1:p><o:p></o:p></span></font></p>

<p><font size=2 color=blue face=Arial><span style='font-size:10.0pt;font-family:
Arial;color:blue'>Hi,</span></font><u1:p></u1:p><o:p></o:p></p>

<p><font size=3 face="Times New Roman"><span style='font-size:12.0pt'>&nbsp;<u1:p></u1:p><o:p></o:p></span></font></p>

<p><font size=2 color=blue face=Arial><span style='font-size:10.0pt;font-family:
Arial;color:blue'>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
&quot;exists&quot; instead of the &quot;ArrayList( size == 1) from
collect...&quot; - 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 &quot;matchXXX&quot; functions do? Could you investigate removing
the &quot;evals&quot;?</span></font><u1:p></u1:p><o:p></o:p></p>

<p><font size=3 face="Times New Roman"><span style='font-size:12.0pt'>&nbsp;<u1:p></u1:p><o:p></o:p></span></font></p>

<p><font size=2 color=blue face=Arial><span style='font-size:10.0pt;font-family:
Arial;color:blue'>I don't have any knowledge of your domain - we're all newbies
at some time or other.</span></font><u1:p></u1:p><o:p></o:p></p>

<p><font size=3 face="Times New Roman"><span style='font-size:12.0pt'>&nbsp;<u1:p></u1:p><o:p></o:p></span></font></p>

<p><font size=2 color=blue face=Arial><span style='font-size:10.0pt;font-family:
Arial;color:blue'>With kind regards,</span></font><u1:p></u1:p><o:p></o:p></p>

<p><font size=3 face="Times New Roman"><span style='font-size:12.0pt'>&nbsp;<u1:p></u1:p><o:p></o:p></span></font></p>

<p><font size=2 color=blue face=Arial><span style='font-size:10.0pt;font-family:
Arial;color:blue'>Mike</span></font><u1:p></u1:p><o:p></o:p></p>

<blockquote style='margin-top:5.0pt;margin-right:0cm;margin-bottom:5.0pt'>

<p><font size=3 face="Times New Roman"><span style='font-size:12.0pt'>&nbsp;<u1:p></u1:p><o:p></o:p></span></font></p>

<div class=MsoNormal align=center style='text-align:center'><font size=3
face="Times New Roman"><span lang=EN-US style='font-size:12.0pt'>

<hr size=2 width="100%" align=center>

</span></font></div>

<p style='margin-bottom:12.0pt'><b><font size=2 face=Tahoma><span lang=EN-US
style='font-size:10.0pt;font-family:Tahoma;font-weight:bold'>From:</span></font></b><font
size=2 face=Tahoma><span lang=EN-US style='font-size:10.0pt;font-family:Tahoma'>
<a href="mailto:rules-users-bounces@lists.jboss.org" target="_blank">rules-users-bounces@lists.jboss.org</a>
[mailto:<a href="mailto:rules-users-bounces@lists.jboss.org" target="_blank">rules-users-bounces@lists.jboss.org</a>]
<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> <a
href="mailto:rules-users@lists.jboss.org" target="_blank">rules-users@lists.jboss.org</a><br>
<b><span style='font-weight:bold'>Subject:</span></b> [rules-users] Memory
error when inserting facts in stateful session</span></font><u1:p></u1:p><o:p></o:p></p>

<div>

<div>

<p><font size=2 face=Verdana><span style='font-size:10.0pt;font-family:Verdana'>Hello,</span></font><u1:p></u1:p><o:p></o:p></p>

<p><font size=2 face=Verdana><span lang=EN-GB style='font-size:10.0pt;
font-family:Verdana'>To be short I&#8217;m facing some performance/memory problems
with Drools which leads to the error : java.lang.OutOfMemoryError: Java heap
space.</span></font><u1:p></u1:p><o:p></o:p></p>

<p><font size=2 face=Verdana><span lang=EN-GB style='font-size:10.0pt;
font-family:Verdana'>That was for the short story, let me now give you more
details.</span></font><u1:p></u1:p><o:p></o:p></p>

<p><font size=2 face=Verdana><span lang=EN-GB style='font-size:10.0pt;
font-family:Verdana'>First, I&#8217;m a Drools newbie so I certainly have made some
&#8220;bad&#8221; choice.</span></font><u1:p></u1:p><o:p></o:p></p>

<p><font size=2 face=Verdana><span lang=EN-GB style='font-size:10.0pt;
font-family:Verdana'>I&#8217;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).</span></font><u1:p></u1:p><o:p></o:p></p>

<p><font size=2 face=Verdana><span lang=EN-GB style='font-size:10.0pt;
font-family:Verdana'>I have written 4 rules, a rule-flow and start the deals
classifying process with a stateful session.</span></font><u1:p></u1:p><o:p></o:p></p>

<p><font size=2 face=Verdana><span lang=EN-GB style='font-size:10.0pt;
font-family:Verdana'>I have successfully (unit) tested different scenarios, so
everything is ok on a functionnal point of view.</span></font><u1:p></u1:p><o:p></o:p></p>

<p><font size=2 face=Verdana><span lang=EN-GB style='font-size:10.0pt;
font-family:Verdana'>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).</span></font><u1:p></u1:p><o:p></o:p></p>

<p><font size=2 face=Verdana><span lang=EN-GB style='font-size:10.0pt;
font-family:Verdana'>Number of facts I have tried to insert in my statefull
session :</span></font><u1:p></u1:p><o:p></o:p></p>

<p style='margin-left:36.0pt'><font size=2 face=Verdana><span lang=EN-GB
style='font-size:10.0pt;font-family:Verdana'>-</span></font><font size=1><span
lang=EN-GB style='font-size:7.0pt'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></font><font size=2 face=Verdana><span lang=EN-GB style='font-size:10.0pt;
font-family:Verdana'>222 booking rule (POJO expressing classification criteria)
</span></font><u1:p></u1:p><o:p></o:p></p>

<p style='margin-left:36.0pt'><font size=2 face=Verdana><span lang=EN-GB
style='font-size:10.0pt;font-family:Verdana'>-</span></font><font size=1><span
lang=EN-GB style='font-size:7.0pt'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></font><font size=2 face=Verdana><span lang=EN-GB style='font-size:10.0pt;
font-family:Verdana'>750 product index </span></font><u1:p></u1:p><o:p></o:p></p>

<p style='margin-left:36.0pt'><font size=2 face=Verdana><span lang=EN-GB
style='font-size:10.0pt;font-family:Verdana'>-</span></font><font size=1><span
lang=EN-GB style='font-size:7.0pt'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></font><font size=2 face=Verdana><span lang=EN-GB style='font-size:10.0pt;
font-family:Verdana'>750 deals </span></font><u1:p></u1:p><o:p></o:p></p>

<p><font size=2 face=Verdana><span lang=EN-GB style='font-size:10.0pt;
font-family:Verdana'>What drools does here is to find the correct booking rule to
apply for each deal (we need some product index for that).</span></font><u1:p></u1:p><o:p></o:p></p>

<p><font size=2 face=Verdana><span lang=EN-GB style='font-size:10.0pt;
font-family:Verdana'>Can you tell me if those numbers seems unrealistic ?</span></font><u1:p></u1:p><o:p></o:p></p>

<p><font size=2 face=Verdana><span lang=EN-GB style='font-size:10.0pt;
font-family:Verdana'>What can I do to avoid the memory errors ?</span></font><u1:p></u1:p><o:p></o:p></p>

<p><font size=2 face=Verdana><span lang=EN-GB style='font-size:10.0pt;
font-family:Verdana'>To be complete, I show you the drools rules :</span></font><u1:p></u1:p><o:p></o:p></p>

<p><b><font size=2 color="#960000" face="Courier New"><span lang=EN-GB
style='font-size:10.0pt;font-family:"Courier New";color:#960000;font-weight:
bold'>rule</span></font></b><font size=2 color=black face="Courier New"><span
lang=EN-GB style='font-size:10.0pt;font-family:"Courier New";color:black'> </span></font><font
size=2 color=green face="Courier New"><span lang=EN-GB style='font-size:10.0pt;
font-family:"Courier New";color:green'>&quot;Find and apply level 1 booking
rule&quot;</span></font><u1:p></u1:p><o:p></o:p></p>

<p><font size=2 color=black face="Courier New"><span lang=EN-GB
style='font-size:10.0pt;font-family:"Courier New";color:black'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></font><b><font size=2 color="#960000" face="Courier New"><span
lang=EN-GB style='font-size:10.0pt;font-family:"Courier New";color:#960000;
font-weight:bold'>lock-on-active</span></font></b><font size=2 color=black
face="Courier New"><span lang=EN-GB style='font-size:10.0pt;font-family:"Courier New";
color:black'> </span></font><b><font size=2 color="#960000" face="Courier New"><span
lang=EN-GB style='font-size:10.0pt;font-family:"Courier New";color:#960000;
font-weight:bold'>true</span></font></b><font size=2 color=black
face="Courier New"><span lang=EN-GB style='font-size:10.0pt;font-family:"Courier New";
color:black'> </span></font><o:p></o:p></p>

<u1:p></u1:p>

<p><font size=2 color=black face="Courier New"><span lang=EN-GB
style='font-size:10.0pt;font-family:"Courier New";color:black'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></font><b><font size=2 color="#960000" face="Courier New"><span
lang=EN-GB style='font-size:10.0pt;font-family:"Courier New";color:#960000;
font-weight:bold'>ruleflow-group</span></font></b><font size=2 color=black
face="Courier New"><span lang=EN-GB style='font-size:10.0pt;font-family:"Courier New";
color:black'> </span></font><font size=2 color=green face="Courier New"><span
lang=EN-GB style='font-size:10.0pt;font-family:"Courier New";color:green'>&quot;Level
1 booking rule group&quot;</span></font><u1:p></u1:p><o:p></o:p></p>

<p><font size=2 color=black face="Courier New"><span lang=EN-GB
style='font-size:10.0pt;font-family:"Courier New";color:black'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></font><b><font size=2 color="#960000" face="Courier New"><span
lang=EN-GB style='font-size:10.0pt;font-family:"Courier New";color:#960000;
font-weight:bold'>when</span></font></b><u1:p></u1:p><o:p></o:p></p>

<p><font size=2 color=black face="Courier New"><span lang=EN-GB
style='font-size:10.0pt;font-family:"Courier New";color:black'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
dealModel : MarketDealModel( $dealPortfolio : portfolio, $dealTrader : trader,
$dealProduct : product)</span></font><u1:p></u1:p><o:p></o:p></p>

<p><font size=2 color=black face="Courier New"><span lang=EN-GB
style='font-size:10.0pt;font-family:"Courier New";color:black'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></font><font size=2 color=olive face="Courier New"><span lang=EN-GB
style='font-size:10.0pt;font-family:"Courier New";color:olive'>// retrieve the
ProductRelatedIndexes corresponding to the deal product (only one by
product)&nbsp; </span></font><u1:p></u1:p><o:p></o:p></p>

<p><font size=2 color=black face="Courier New"><span lang=EN-GB
style='font-size:10.0pt;font-family:"Courier New";color:black'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
productRelatedIndexes : ProductRelatedIndexes( product.internalCode ==
$dealProduct.internalCode, $dealProductIndexes : relatedIndexes)</span></font><u1:p></u1:p><o:p></o:p></p>

<p><font size=2 color=black face="Courier New"><span lang=EN-GB
style='font-size:10.0pt;font-family:"Courier New";color:black'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></font><font size=2 color=olive face="Courier New"><span lang=EN-GB
style='font-size:10.0pt;font-family:"Courier New";color:olive'>// try to find
one and only one level 1 matching rule (level 1 &lt;=&gt; all matching criteria
are defined).</span></font><u1:p></u1:p><o:p></o:p></p>

<p><font size=2 color=black face="Courier New"><span lang=EN-GB
style='font-size:10.0pt;font-family:"Courier New";color:black'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
bookingRuleModels : ArrayList( size == 1 ) </span></font><b><font size=2
color="#960000" face="Courier New"><span lang=EN-GB style='font-size:10.0pt;
font-family:"Courier New";color:#960000;font-weight:bold'>from</span></font></b><font
size=2 color=black face="Courier New"><span lang=EN-GB style='font-size:10.0pt;
font-family:"Courier New";color:black'> </span></font><b><font size=2
color="#960000" face="Courier New"><span lang=EN-GB style='font-size:10.0pt;
font-family:"Courier New";color:#960000;font-weight:bold'>collect</span></font></b><font
size=2 color=black face="Courier New"><span lang=EN-GB style='font-size:10.0pt;
font-family:"Courier New";color:black'> (</span></font><u1:p></u1:p><o:p></o:p></p>

<p><font size=2 color=black face="Courier New"><span lang=EN-GB
style='font-size:10.0pt;font-family:"Courier New";color:black'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
BTExecutionBookingRuleModel(</span></font><u1:p></u1:p><o:p></o:p></p>

<p><font size=2 color=black face="Courier New"><span lang=EN-GB
style='font-size:10.0pt;font-family:"Courier New";color:black'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
priority == BTExecutionBookingRuleModel.LEVEL_1</span></font><u1:p></u1:p><o:p></o:p></p>

<p><font size=2 color=black face="Courier New"><span lang=EN-GB
style='font-size:10.0pt;font-family:"Courier New";color:black'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&amp;&amp; </span></font><b><font size=2 color="#960000" face="Courier New"><span
lang=EN-GB style='font-size:10.0pt;font-family:"Courier New";color:#960000;
font-weight:bold'>eval</span></font></b><font size=2 color=black
face="Courier New"><span lang=EN-GB style='font-size:10.0pt;font-family:"Courier New";
color:black'>(matchTraderCriterion(traderCriterion, $dealTrader))</span></font><u1:p></u1:p><o:p></o:p></p>

<p><font size=2 color=black face="Courier New"><span lang=EN-GB
style='font-size:10.0pt;font-family:"Courier New";color:black'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&amp;&amp; </span></font><b><font size=2 color="#960000" face="Courier New"><span
lang=EN-GB style='font-size:10.0pt;font-family:"Courier New";color:#960000;
font-weight:bold'>eval</span></font></b><font size=2 color=black
face="Courier New"><span lang=EN-GB style='font-size:10.0pt;font-family:"Courier New";
color:black'>(matchPortfolioCriterion(portfolioCriterion, $dealPortfolio)) </span></font><u1:p></u1:p><o:p></o:p></p>

<p><font size=2 color=black face="Courier New"><span lang=EN-GB
style='font-size:10.0pt;font-family:"Courier New";color:black'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&amp;&amp; </span></font><b><font size=2 color="#960000" face="Courier New"><span
lang=EN-GB style='font-size:10.0pt;font-family:"Courier New";color:#960000;
font-weight:bold'>eval</span></font></b><font size=2 color=black
face="Courier New"><span lang=EN-GB style='font-size:10.0pt;font-family:"Courier New";
color:black'>(matchIndexCriterion(listedIndexCriterion, $dealProductIndexes))</span></font><u1:p></u1:p><o:p></o:p></p>

<p><font size=2 color=black face="Courier New"><span lang=EN-GB
style='font-size:10.0pt;font-family:"Courier New";color:black'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&amp;&amp; </span></font><b><font size=2 color="#960000" face="Courier New"><span
lang=EN-GB style='font-size:10.0pt;font-family:"Courier New";color:#960000;
font-weight:bold'>eval</span></font></b><font size=2 color=black
face="Courier New"><span lang=EN-GB style='font-size:10.0pt;font-family:"Courier New";
color:black'>(matchProductTypeCriterion(productTypeStringCriterion,
$dealProduct)) </span></font><u1:p></u1:p><o:p></o:p></p>

<p><font size=2 color=black face="Courier New"><span lang=EN-GB
style='font-size:10.0pt;font-family:"Courier New";color:black'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
)</span></font><u1:p></u1:p><o:p></o:p></p>

<p><font size=2 color=black face="Courier New"><span lang=EN-GB
style='font-size:10.0pt;font-family:"Courier New";color:black'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
)</span></font><u1:p></u1:p><o:p></o:p></p>

<p><font size=2 color=black face="Courier New"><span lang=EN-GB
style='font-size:10.0pt;font-family:"Courier New";color:black'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></font><b><font size=2 color="#960000" face="Courier New"><span
lang=EN-GB style='font-size:10.0pt;font-family:"Courier New";color:#960000;
font-weight:bold'>then</span></font></b><u1:p></u1:p><o:p></o:p></p>

<p><font size=2 color=black face="Courier New"><span lang=EN-GB
style='font-size:10.0pt;font-family:"Courier New";color:black'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Logger log = LoggerFactory.getLogger(</span></font><font size=2 color=green
face="Courier New"><span lang=EN-GB style='font-size:10.0pt;font-family:"Courier New";
color:green'>&quot;BOOKING RULE ENGINE LOGGER&quot;</span></font><font size=2
color=black face="Courier New"><span lang=EN-GB style='font-size:10.0pt;
font-family:"Courier New";color:black'>);</span></font><u1:p></u1:p><o:p></o:p></p>

<p><font size=2 color=black face="Courier New"><span lang=EN-GB
style='font-size:10.0pt;font-family:"Courier New";color:black'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></font><font size=2 color=olive face="Courier New"><span lang=EN-GB
style='font-size:10.0pt;font-family:"Courier New";color:olive'>// get the
unique collected bookingRuleModel. </span></font><u1:p></u1:p><o:p></o:p></p>

<p><font size=2 color=black face="Courier New"><span lang=EN-GB
style='font-size:10.0pt;font-family:"Courier New";color:black'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
BTExecutionBookingRuleModel effectiveBookingRuleModel =
(BTExecutionBookingRuleModel) bookingRuleModels.get(0);</span></font><u1:p></u1:p><o:p></o:p></p>

<p><font size=2 color=black face="Courier New"><span lang=EN-GB
style='font-size:10.0pt;font-family:"Courier New";color:black'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></font><font size=2 color=olive face="Courier New"><span lang=EN-GB
style='font-size:10.0pt;font-family:"Courier New";color:olive'>// <a
href="http://log.info" target="_blank">log.info</a>(&quot;Found matching level 1
booking rule --&gt; &quot; + effectiveBookingRuleModel);</span></font><u1:p></u1:p><o:p></o:p></p>

<p><font size=2 color=black face="Courier New"><span lang=EN-GB
style='font-size:10.0pt;font-family:"Courier New";color:black'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
effectiveBookingRuleModel.applyRuleOnDeal(dealModel);</span></font><u1:p></u1:p><o:p></o:p></p>

<p><font size=2 color=black face="Courier New"><span lang=EN-GB
style='font-size:10.0pt;font-family:"Courier New";color:black'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></font><b><font size=2 color="#960000" face="Courier New"><span
lang=EN-GB style='font-size:10.0pt;font-family:"Courier New";color:#960000;
font-weight:bold'>retract</span></font></b><font size=2 color=black
face="Courier New"><span lang=EN-GB style='font-size:10.0pt;font-family:"Courier New";
color:black'>( dealModel );&nbsp; </span></font><font size=2 color=olive
face="Courier New"><span lang=EN-GB style='font-size:10.0pt;font-family:"Courier New";
color:olive'>// only needed in use of stateful session to avoid processing this
deal again.</span></font><u1:p></u1:p><o:p></o:p></p>

<p><b><font size=2 color="#960000" face="Courier New"><span style='font-size:
10.0pt;font-family:"Courier New";color:#960000;font-weight:bold'>end</span></font></b><u1:p></u1:p><o:p></o:p></p>

<p><font size=2 face=Verdana><span lang=EN-GB style='font-size:10.0pt;
font-family:Verdana'>I don&#8217;t put the 3 others, they are basically the same
except the </span></font><font size=2 color=black face="Courier New"><span
lang=EN-GB style='font-size:10.0pt;font-family:"Courier New";color:black'>priority
== BTExecutionBookingRuleModel.LEVEL_1 which is done against LEVEL_2, LEVEL_3
and LEVEL_4 rule.</span></font><u1:p></u1:p><o:p></o:p></p>

<p><font size=2 face=Verdana><span lang=EN-GB style='font-size:10.0pt;
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
size=2 color=black face="Courier New"><span lang=EN-GB style='font-size:10.0pt;
font-family:"Courier New";color:black'>priority to
BTExecutionBookingRuleModel.LEVEL_2).</span></font><u1:p></u1:p><o:p></o:p></p>

<p><font size=2 face=Verdana><span lang=EN-GB style='font-size:10.0pt;
font-family:Verdana'>I also put some logs showing that inserting deals fact
takes longer and longer : </span></font><u1:p></u1:p><o:p></o:p></p>

<p><font size=2 face=Verdana><span lang=EN-GB style='font-size:10.0pt;
font-family:Verdana'>- the 222 booking rule are inserted in 16ms</span></font><u1:p></u1:p><o:p></o:p></p>

<p><font size=2 face=Verdana><span lang=EN-GB style='font-size:10.0pt;
font-family:Verdana'>- the 750 booking rule are inserted in 46ms</span></font><u1:p></u1:p><o:p></o:p></p>

<p><font size=2 face=Verdana><span lang=EN-GB style='font-size:10.0pt;
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.</span></font><u1:p></u1:p><o:p></o:p></p>

<p><font size=2 color=black face="Courier New"><span lang=EN-GB
style='font-size:10.0pt;font-family:"Courier New";color:black'>2009-09-11
09:46:50 134 INFO&nbsp; [booking.impl.DealBookingProcessorImpl] 658
MarketDealModel inserted in Drools session </span></font><u1:p></u1:p><o:p></o:p></p>

<p><font size=2 color=black face="Courier New"><span lang=EN-GB
style='font-size:10.0pt;font-family:"Courier New";color:black'>2009-09-11
09:46:50 244 INFO&nbsp; [booking.impl.DealBookingProcessorImpl] 659
MarketDealModel inserted in Drools session </span></font><u1:p></u1:p><o:p></o:p></p>

<p><font size=2 color=black face="Courier New"><span lang=EN-GB
style='font-size:10.0pt;font-family:"Courier New";color:black'>2009-09-11
09:46:50 369 INFO&nbsp; [booking.impl.DealBookingProcessorImpl] 660
MarketDealModel inserted in Drools session </span></font><u1:p></u1:p><o:p></o:p></p>

<p><font size=2 color=black face="Courier New"><span lang=EN-GB
style='font-size:10.0pt;font-family:"Courier New";color:black'>2009-09-11 09:46:51
197 INFO&nbsp; [booking.impl.DealBookingProcessorImpl] 661 MarketDealModel
inserted in Drools session </span></font><u1:p></u1:p><o:p></o:p></p>

<p><font size=2 color=black face="Courier New"><span lang=EN-GB
style='font-size:10.0pt;font-family:"Courier New";color:black'>2009-09-11
09:46:51 306 INFO&nbsp; [booking.impl.DealBookingProcessorImpl] 662
MarketDealModel inserted in Drools session </span></font><u1:p></u1:p><o:p></o:p></p>

<p><font size=2 color=black face="Courier New"><span lang=EN-GB
style='font-size:10.0pt;font-family:"Courier New";color:black'>2009-09-11
09:46:51 540 INFO&nbsp; [booking.impl.DealBookingProcessorImpl] 663
MarketDealModel inserted in Drools session </span></font><u1:p></u1:p><o:p></o:p></p>

<p><font size=2 color=black face="Courier New"><span lang=EN-GB
style='font-size:10.0pt;font-family:"Courier New";color:black'>2009-09-11
09:46:51 650 INFO&nbsp; [booking.impl.DealBookingProcessorImpl] 664
MarketDealModel inserted in Drools session </span></font><u1:p></u1:p><o:p></o:p></p>

<p><font size=2 color=black face="Courier New"><span lang=EN-GB
style='font-size:10.0pt;font-family:"Courier New";color:black'>2009-09-11
09:46:51 775 INFO&nbsp; [booking.impl.DealBookingProcessorImpl] 665
MarketDealModel inserted in Drools session </span></font><u1:p></u1:p><o:p></o:p></p>

<p><font size=2 color=black face="Courier New"><span lang=EN-GB
style='font-size:10.0pt;font-family:"Courier New";color:black'>2009-09-11
09:46:51 884 INFO&nbsp; [booking.impl.DealBookingProcessorImpl] 666
MarketDealModel inserted in Drools session </span></font><u1:p></u1:p><o:p></o:p></p>

<p><font size=2 color=black face="Courier New"><span lang=EN-GB
style='font-size:10.0pt;font-family:"Courier New";color:black'>2009-09-11
09:46:52 009 INFO&nbsp; [booking.impl.DealBookingProcessorImpl] 667
MarketDealModel inserted in Drools session </span></font><u1:p></u1:p><o:p></o:p></p>

<p><font size=2 color=black face="Courier New"><span lang=EN-GB
style='font-size:10.0pt;font-family:"Courier New";color:black'>2009-09-11
09:46:52 134 INFO&nbsp; [booking.impl.DealBookingProcessorImpl] 668
MarketDealModel inserted in Drools session </span></font><u1:p></u1:p><o:p></o:p></p>

<p><font size=2 color=black face="Courier New"><span lang=EN-GB
style='font-size:10.0pt;font-family:"Courier New";color:black'>2009-09-11
09:46:52 243 INFO&nbsp; [booking.impl.DealBookingProcessorImpl] 669
MarketDealModel inserted in Drools session </span></font><u1:p></u1:p><o:p></o:p></p>

<p><font size=2 color=black face="Courier New"><span lang=EN-GB
style='font-size:10.0pt;font-family:"Courier New";color:black'>2009-09-11
09:46:52 368 INFO&nbsp; [booking.impl.DealBookingProcessorImpl] 670
MarketDealModel inserted in Drools session </span></font><u1:p></u1:p><o:p></o:p></p>

<p><font size=2 color=black face="Courier New"><span lang=EN-GB
style='font-size:10.0pt;font-family:"Courier New";color:black'>2009-09-11
09:47:32 784 INFO&nbsp; [booking.impl.DealBookingProcessorImpl] 671
MarketDealModel inserted in Drools session </span></font><u1:p></u1:p><o:p></o:p></p>

<p><font size=2 color=black face="Courier New"><span lang=EN-GB
style='font-size:10.0pt;font-family:"Courier New";color:black'>2009-09-11
09:47:33 003 INFO&nbsp; [booking.impl.DealBookingProcessorImpl] 672
MarketDealModel inserted in Drools session </span></font><u1:p></u1:p><o:p></o:p></p>

<p><font size=2 color=black face="Courier New"><span lang=EN-GB
style='font-size:10.0pt;font-family:"Courier New";color:black'>2009-09-11
09:47:33 128 INFO&nbsp; [booking.impl.DealBookingProcessorImpl] 673
MarketDealModel inserted in Drools session </span></font><u1:p></u1:p><o:p></o:p></p>

<p><font size=2 color=black face="Courier New"><span lang=EN-GB
style='font-size:10.0pt;font-family:"Courier New";color:black'>2009-09-11
09:47:33 253 INFO&nbsp; [booking.impl.DealBookingProcessorImpl] 674
MarketDealModel inserted in Drools session </span></font><u1:p></u1:p><o:p></o:p></p>

<p><font size=2 color=black face="Courier New"><span lang=EN-GB
style='font-size:10.0pt;font-family:"Courier New";color:black'>2009-09-11
09:47:33 362 INFO&nbsp; [booking.impl.DealBookingProcessorImpl] 675
MarketDealModel inserted in Drools session </span></font><u1:p></u1:p><o:p></o:p></p>

<p><font size=2 color=black face="Courier New"><span lang=EN-GB
style='font-size:10.0pt;font-family:"Courier New";color:black'>2009-09-11
09:47:33 487 INFO&nbsp; [booking.impl.DealBookingProcessorImpl] 676
MarketDealModel inserted in Drools session </span></font><u1:p></u1:p><o:p></o:p></p>

<p><font size=2 color=black face="Courier New"><span lang=EN-GB
style='font-size:10.0pt;font-family:"Courier New";color:black'>2009-09-11
09:47:33 596 INFO&nbsp; [booking.impl.DealBookingProcessorImpl] 677
MarketDealModel inserted in Drools session </span></font><u1:p></u1:p><o:p></o:p></p>

<p><font size=2 color=black face="Courier New"><span lang=EN-GB
style='font-size:10.0pt;font-family:"Courier New";color:black'>2009-09-11 09:47:33
721 INFO&nbsp; [booking.impl.DealBookingProcessorImpl] 678 MarketDealModel
inserted in Drools session </span></font><u1:p></u1:p><o:p></o:p></p>

<p><font size=2 color=black face="Courier New"><span lang=EN-GB
style='font-size:10.0pt;font-family:"Courier New";color:black'>2009-09-11
09:47:33 831 INFO&nbsp; [booking.impl.DealBookingProcessorImpl] 679
MarketDealModel inserted in Drools session </span></font><u1:p></u1:p><o:p></o:p></p>

<p><font size=2 color=black face="Courier New"><span lang=EN-GB
style='font-size:10.0pt;font-family:"Courier New";color:black'>2009-09-11
09:47:33 956 INFO&nbsp; [booking.impl.DealBookingProcessorImpl] 680
MarketDealModel inserted in Drools session </span></font><u1:p></u1:p><o:p></o:p></p>

<p><font size=2 color=black face="Courier New"><span lang=EN-GB
style='font-size:10.0pt;font-family:"Courier New";color:black'>2009-09-11
09:47:34 128 INFO&nbsp; [booking.impl.DealBookingProcessorImpl] 681
MarketDealModel inserted in Drools session </span></font><u1:p></u1:p><o:p></o:p></p>

<p><font size=2 color=black face="Courier New"><span lang=EN-GB
style='font-size:10.0pt;font-family:"Courier New";color:black'>2009-09-11
09:47:56 218 INFO&nbsp; [booking.impl.DealBookingProcessorImpl] 682
MarketDealModel inserted in Drools session </span></font><u1:p></u1:p><o:p></o:p></p>

<p><font size=2 color=black face="Courier New"><span lang=EN-GB
style='font-size:10.0pt;font-family:"Courier New";color:black'>2009-09-11
09:47:56 374 INFO&nbsp; [booking.impl.DealBookingProcessorImpl] 683
MarketDealModel inserted in Drools session </span></font><u1:p></u1:p><o:p></o:p></p>

<p><font size=2 color=black face="Courier New"><span lang=EN-GB
style='font-size:10.0pt;font-family:"Courier New";color:black'>2009-09-11
09:47:56 483 INFO&nbsp; [booking.impl.DealBookingProcessorImpl] 684
MarketDealModel inserted in Drools session </span></font><u1:p></u1:p><o:p></o:p></p>

<p><font size=2 color=black face="Courier New"><span lang=EN-GB
style='font-size:10.0pt;font-family:"Courier New";color:black'>2009-09-11
09:47:56 608 INFO&nbsp; [booking.impl.DealBookingProcessorImpl] 685
MarketDealModel inserted in Drools session </span></font><u1:p></u1:p><o:p></o:p></p>

<p><font size=2 color=black face="Courier New"><span lang=EN-GB
style='font-size:10.0pt;font-family:"Courier New";color:black'>2009-09-11
09:47:56 733 INFO&nbsp; [booking.impl.DealBookingProcessorImpl] 686
MarketDealModel inserted in Drools session </span></font><u1:p></u1:p><o:p></o:p></p>

<p><font size=2 color=black face="Courier New"><span lang=EN-GB
style='font-size:10.0pt;font-family:"Courier New";color:black'>2009-09-11
09:47:56 858 INFO&nbsp; [booking.impl.DealBookingProcessorImpl] 687
MarketDealModel inserted in Drools session </span></font><u1:p></u1:p><o:p></o:p></p>

<p><font size=2 color=black face="Courier New"><span lang=EN-GB
style='font-size:10.0pt;font-family:"Courier New";color:black'>2009-09-11
09:47:56 968 INFO&nbsp; [booking.impl.DealBookingProcessorImpl] 688
MarketDealModel inserted in Drools session </span></font><u1:p></u1:p><o:p></o:p></p>

<p><font size=2 color=black face="Courier New"><span lang=EN-GB
style='font-size:10.0pt;font-family:"Courier New";color:black'>2009-09-11
09:47:57 093 INFO&nbsp; [booking.impl.DealBookingProcessorImpl] 689
MarketDealModel inserted in Drools session </span></font><u1:p></u1:p><o:p></o:p></p>

<p><font size=2 color=black face="Courier New"><span lang=EN-GB
style='font-size:10.0pt;font-family:"Courier New";color:black'>2009-09-11
09:47:57 218 INFO&nbsp; [booking.impl.DealBookingProcessorImpl] 690
MarketDealModel inserted in Drools session </span></font><u1:p></u1:p><o:p></o:p></p>

<p><font size=2 color=black face="Courier New"><span lang=EN-GB
style='font-size:10.0pt;font-family:"Courier New";color:black'>2009-09-11 09:47:57
421 INFO&nbsp; [booking.impl.DealBookingProcessorImpl] 691 MarketDealModel
inserted in Drools session </span></font><u1:p></u1:p><o:p></o:p></p>

<p><font size=2 color=black face="Courier New"><span lang=EN-GB
style='font-size:10.0pt;font-family:"Courier New";color:black'>2009-09-11
09:48:05 404 INFO&nbsp; [booking.impl.DealBookingProcessorImpl] 692
MarketDealModel inserted in Drools session </span></font><u1:p></u1:p><o:p></o:p></p>

<p><font size=2 color=black face="Courier New"><span lang=EN-GB
style='font-size:10.0pt;font-family:"Courier New";color:black'>2009-09-11
09:48:05 529 INFO&nbsp; [booking.impl.DealBookingProcessorImpl] 693
MarketDealModel inserted in Drools session </span></font><u1:p></u1:p><o:p></o:p></p>

<p><font size=2 color=black face="Courier New"><span lang=EN-GB
style='font-size:10.0pt;font-family:"Courier New";color:black'>2009-09-11
09:48:05 654 INFO&nbsp; [booking.impl.DealBookingProcessorImpl] 694
MarketDealModel inserted in Drools session </span></font><u1:p></u1:p><o:p></o:p></p>

<p><font size=2 color=black face="Courier New"><span lang=EN-GB
style='font-size:10.0pt;font-family:"Courier New";color:black'>2009-09-11
09:48:05 763 INFO&nbsp; [booking.impl.DealBookingProcessorImpl] 695
MarketDealModel inserted in Drools session </span></font><u1:p></u1:p><o:p></o:p></p>

<p><font size=2 color=black face="Courier New"><span lang=EN-GB
style='font-size:10.0pt;font-family:"Courier New";color:black'>2009-09-11
09:48:05 888 INFO&nbsp; [booking.impl.DealBookingProcessorImpl] 696
MarketDealModel inserted in Drools session </span></font><u1:p></u1:p><o:p></o:p></p>

<p><font size=2 color=black face="Courier New"><span lang=EN-GB
style='font-size:10.0pt;font-family:"Courier New";color:black'>2009-09-11
09:48:05 998 INFO&nbsp; [booking.impl.DealBookingProcessorImpl] 697
MarketDealModel inserted in Drools session </span></font><u1:p></u1:p><o:p></o:p></p>

<p><font size=2 color=black face="Courier New"><span lang=EN-GB
style='font-size:10.0pt;font-family:"Courier New";color:black'>2009-09-11
09:48:06 123 INFO&nbsp; [booking.impl.DealBookingProcessorImpl] 698
MarketDealModel inserted in Drools session </span></font><u1:p></u1:p><o:p></o:p></p>

<p><font size=2 color=black face="Courier New"><span lang=EN-GB
style='font-size:10.0pt;font-family:"Courier New";color:black'>2009-09-11
09:48:06 357 INFO&nbsp; [booking.impl.DealBookingProcessorImpl] 699
MarketDealModel inserted in Drools session </span></font><u1:p></u1:p><o:p></o:p></p>

<p><font size=2 color=black face="Courier New"><span lang=EN-GB
style='font-size:10.0pt;font-family:"Courier New";color:black'>2009-09-11
09:48:14 184 INFO&nbsp; [booking.impl.DealBookingProcessorImpl] 700
MarketDealModel inserted in Drools session </span></font><u1:p></u1:p><o:p></o:p></p>

<p><font size=2 color=black face="Courier New"><span lang=EN-GB
style='font-size:10.0pt;font-family:"Courier New";color:black'>2009-09-11
09:48:14 293 INFO&nbsp; [booking.impl.DealBookingProcessorImpl] 701
MarketDealModel inserted in Drools session </span></font><u1:p></u1:p><o:p></o:p></p>

<p><font size=2 color=black face="Courier New"><span lang=EN-GB
style='font-size:10.0pt;font-family:"Courier New";color:black'>2009-09-11
09:48:14 418 INFO&nbsp; [booking.impl.DealBookingProcessorImpl] 702
MarketDealModel inserted in Drools session </span></font><u1:p></u1:p><o:p></o:p></p>

<p><font size=2 color=black face="Courier New"><span lang=EN-GB
style='font-size:10.0pt;font-family:"Courier New";color:black'>2009-09-11
09:48:14 543 INFO&nbsp; [booking.impl.DealBookingProcessorImpl] 703
MarketDealModel inserted in Drools session </span></font><u1:p></u1:p><o:p></o:p></p>

<p><font size=2 color=black face="Courier New"><span lang=EN-GB
style='font-size:10.0pt;font-family:"Courier New";color:black'>2009-09-11 09:48:14
668 INFO&nbsp; [booking.impl.DealBookingProcessorImpl] 704 MarketDealModel
inserted in Drools session </span></font><u1:p></u1:p><o:p></o:p></p>

<p><font size=2 color=black face="Courier New"><span lang=EN-GB
style='font-size:10.0pt;font-family:"Courier New";color:black'>2009-09-11
09:48:14 856 INFO&nbsp; [booking.impl.DealBookingProcessorImpl] 705
MarketDealModel inserted in Drools session </span></font><u1:p></u1:p><o:p></o:p></p>

<p><font size=2 color=black face="Courier New"><span lang=EN-GB
style='font-size:10.0pt;font-family:"Courier New";color:black'>2009-09-11
09:48:22 761 INFO&nbsp; [booking.impl.DealBookingProcessorImpl] 706
MarketDealModel inserted in Drools session </span></font><u1:p></u1:p><o:p></o:p></p>

<p><font size=2 color=black face="Courier New"><span lang=EN-GB
style='font-size:10.0pt;font-family:"Courier New";color:black'>2009-09-11
09:48:22 886 INFO&nbsp; [booking.impl.DealBookingProcessorImpl] 707
MarketDealModel inserted in Drools session </span></font><u1:p></u1:p><o:p></o:p></p>

<p><font size=2 color=black face="Courier New"><span lang=EN-GB
style='font-size:10.0pt;font-family:"Courier New";color:black'>2009-09-11
09:48:22 995 INFO&nbsp; [booking.impl.DealBookingProcessorImpl] 708
MarketDealModel inserted in Drools session </span></font><u1:p></u1:p><o:p></o:p></p>

<p><font size=2 color=black face="Courier New"><span lang=EN-GB
style='font-size:10.0pt;font-family:"Courier New";color:black'>2009-09-11
09:48:23 120 INFO&nbsp; [booking.impl.DealBookingProcessorImpl] 709
MarketDealModel inserted in Drools session </span></font><u1:p></u1:p><o:p></o:p></p>

<p><font size=2 color=black face="Courier New"><span lang=EN-GB
style='font-size:10.0pt;font-family:"Courier New";color:black'>2009-09-11
09:48:23 323 INFO&nbsp; [booking.impl.DealBookingProcessorImpl] 710
MarketDealModel inserted in Drools session </span></font><u1:p></u1:p><o:p></o:p></p>

<p><font size=2 color=black face="Courier New"><span lang=EN-GB
style='font-size:10.0pt;font-family:"Courier New";color:black'>2009-09-11
09:48:32 166 INFO&nbsp; [booking.impl.DealBookingProcessorImpl] 711
MarketDealModel inserted in Drools session </span></font><u1:p></u1:p><o:p></o:p></p>

<p><font size=2 color=black face="Courier New"><span lang=EN-GB
style='font-size:10.0pt;font-family:"Courier New";color:black'>2009-09-11
09:48:32 290 INFO&nbsp; [booking.impl.DealBookingProcessorImpl] 712
MarketDealModel inserted in Drools session </span></font><u1:p></u1:p><o:p></o:p></p>

<p><font size=2 color=black face="Courier New"><span lang=EN-GB
style='font-size:10.0pt;font-family:"Courier New";color:black'>2009-09-11
09:48:32 400 INFO&nbsp; [booking.impl.DealBookingProcessorImpl] 713
MarketDealModel inserted in Drools session </span></font><u1:p></u1:p><o:p></o:p></p>

<p><font size=2 color=black face="Courier New"><span lang=EN-GB
style='font-size:10.0pt;font-family:"Courier New";color:black'>2009-09-11
09:48:32 634 INFO&nbsp; [booking.impl.DealBookingProcessorImpl] 714 MarketDealModel
inserted in Drools session </span></font><u1:p></u1:p><o:p></o:p></p>

<p><font size=2 color=black face="Courier New"><span lang=EN-GB
style='font-size:10.0pt;font-family:"Courier New";color:black'>2009-09-11
09:48:40 570 INFO&nbsp; [booking.impl.DealBookingProcessorImpl] 715
MarketDealModel inserted in Drools session </span></font><u1:p></u1:p><o:p></o:p></p>

<p><font size=2 color=black face="Courier New"><span lang=EN-GB
style='font-size:10.0pt;font-family:"Courier New";color:black'>2009-09-11
09:48:40 695 INFO&nbsp; [booking.impl.DealBookingProcessorImpl] 716
MarketDealModel inserted in Drools session </span></font><u1:p></u1:p><o:p></o:p></p>

<p><font size=2 color=black face="Courier New"><span lang=EN-GB
style='font-size:10.0pt;font-family:"Courier New";color:black'>2009-09-11
09:48:40 899 INFO&nbsp; [booking.impl.DealBookingProcessorImpl] 717
MarketDealModel inserted in Drools session </span></font><u1:p></u1:p><o:p></o:p></p>

<p><font size=2 color=black face="Courier New"><span lang=EN-GB
style='font-size:10.0pt;font-family:"Courier New";color:black'>2009-09-11
09:48:48 850 INFO&nbsp; [booking.impl.DealBookingProcessorImpl] 718
MarketDealModel inserted in Drools session </span></font><u1:p></u1:p><o:p></o:p></p>

<p><font size=2 color=black face="Courier New"><span lang=EN-GB
style='font-size:10.0pt;font-family:"Courier New";color:black'>2009-09-11
09:48:48 975 INFO&nbsp; [booking.impl.DealBookingProcessorImpl] 719
MarketDealModel inserted in Drools session </span></font><u1:p></u1:p><o:p></o:p></p>

<p><font size=2 color=black face="Courier New"><span lang=EN-GB
style='font-size:10.0pt;font-family:"Courier New";color:black'>2009-09-11
09:48:49 272 INFO&nbsp; [booking.impl.DealBookingProcessorImpl] 720
MarketDealModel inserted in Drools session </span></font><u1:p></u1:p><o:p></o:p></p>

<p><font size=2 color=black face="Courier New"><span lang=EN-GB
style='font-size:10.0pt;font-family:"Courier New";color:black'>2009-09-11 09:48:57
209 INFO&nbsp; [booking.impl.DealBookingProcessorImpl] 721 MarketDealModel
inserted in Drools session </span></font><u1:p></u1:p><o:p></o:p></p>

<p><font size=2 color=black face="Courier New"><span lang=EN-GB
style='font-size:10.0pt;font-family:"Courier New";color:black'>2009-09-11
09:48:57 505 INFO&nbsp; [booking.impl.DealBookingProcessorImpl] 722
MarketDealModel inserted in Drools session </span></font><u1:p></u1:p><o:p></o:p></p>

<p><font size=2 color=black face="Courier New"><span lang=EN-GB
style='font-size:10.0pt;font-family:"Courier New";color:black'>2009-09-11
09:49:05 598 INFO&nbsp; [booking.impl.DealBookingProcessorImpl] 723
MarketDealModel inserted in Drools session </span></font><u1:p></u1:p><o:p></o:p></p>

<p><font size=2 color=black face="Courier New"><span lang=EN-GB
style='font-size:10.0pt;font-family:"Courier New";color:black'>2009-09-11
09:49:13 722 INFO&nbsp; [booking.impl.DealBookingProcessorImpl] 724
MarketDealModel inserted in Drools session </span></font><u1:p></u1:p><o:p></o:p></p>

<p><font size=2 color=black face="Courier New"><span lang=EN-GB
style='font-size:10.0pt;font-family:"Courier New";color:black'>2009-09-11
09:49:21 752 INFO&nbsp; [booking.impl.DealBookingProcessorImpl] 725
MarketDealModel inserted in Drools session </span></font><u1:p></u1:p><o:p></o:p></p>

<p><font size=2 color=black face="Courier New"><span lang=EN-GB
style='font-size:10.0pt;font-family:"Courier New";color:black'>2009-09-11
09:49:29 813 INFO&nbsp; [booking.impl.DealBookingProcessorImpl] 726
MarketDealModel inserted in Drools session </span></font><u1:p></u1:p><o:p></o:p></p>

<p><font size=2 color=black face="Courier New"><span lang=EN-GB
style='font-size:10.0pt;font-family:"Courier New";color:black'>2009-09-11
09:49:37 921 INFO&nbsp; [booking.impl.DealBookingProcessorImpl] 727
MarketDealModel inserted in Drools session </span></font><u1:p></u1:p><o:p></o:p></p>

<p><font size=2 color=black face="Courier New"><span lang=EN-GB
style='font-size:10.0pt;font-family:"Courier New";color:black'>2009-09-11
09:49:53 809 INFO&nbsp; [booking.impl.DealBookingProcessorImpl] 728
MarketDealModel inserted in Drools session </span></font><u1:p></u1:p><o:p></o:p></p>

<p><font size=2 color=black face="Courier New"><span lang=EN-GB
style='font-size:10.0pt;font-family:"Courier New";color:black'>2009-09-11
09:50:26 507 INFO&nbsp; [booking.impl.DealBookingProcessorImpl] 729
MarketDealModel inserted in Drools session </span></font><u1:p></u1:p><o:p></o:p></p>

<p><font size=2 color=red face="Courier New"><span lang=EN-GB style='font-size:
10.0pt;font-family:"Courier New";color:red'>Exception in thread
&quot;Timer-0&quot; java.lang.OutOfMemoryError: Java heap space</span></font><u1:p></u1:p><o:p></o:p></p>

<p><font size=2 color=red face="Courier New"><span lang=EN-GB style='font-size:
10.0pt;font-family:"Courier New";color:red'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at
java.lang.Object.clone(</span></font><u><font size=2 color=navy
face="Courier New"><span lang=EN-GB style='font-size:10.0pt;font-family:"Courier New";
color:navy'>Native Method</span></font></u><font size=2 color=red
face="Courier New"><span lang=EN-GB style='font-size:10.0pt;font-family:"Courier New";
color:red'>)</span></font><u1:p></u1:p><o:p></o:p></p>

<p><font size=2 color=red face="Courier New"><span lang=EN-GB style='font-size:
10.0pt;font-family:"Courier New";color:red'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at
java.util.LinkedList.clone(</span></font><u><font size=2 color=navy
face="Courier New"><span lang=EN-GB style='font-size:10.0pt;font-family:"Courier New";
color:navy'>LinkedList.java:830</span></font></u><font size=2 color=red
face="Courier New"><span lang=EN-GB style='font-size:10.0pt;font-family:"Courier New";
color:red'>)</span></font><u1:p></u1:p><o:p></o:p></p>

<p><font size=2 color=red face="Courier New"><span lang=EN-GB style='font-size:
10.0pt;font-family:"Courier New";color:red'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at
com.mchange.v2.resourcepool.BasicResourcePool.cloneOfUnused(</span></font><u><font
size=2 color=navy face="Courier New"><span lang=EN-GB style='font-size:10.0pt;
font-family:"Courier New";color:navy'>BasicResourcePool.java:1661</span></font></u><font
size=2 color=red face="Courier New"><span lang=EN-GB style='font-size:10.0pt;
font-family:"Courier New";color:red'>)</span></font><u1:p></u1:p><o:p></o:p></p>

<p><font size=2 color=red face="Courier New"><span lang=EN-GB style='font-size:
10.0pt;font-family:"Courier New";color:red'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at
com.mchange.v2.resourcepool.BasicResourcePool.cullExpired(</span></font><u><font
size=2 color=navy face="Courier New"><span lang=EN-GB style='font-size:10.0pt;
font-family:"Courier New";color:navy'>BasicResourcePool.java:1450</span></font></u><font
size=2 color=red face="Courier New"><span lang=EN-GB style='font-size:10.0pt;
font-family:"Courier New";color:red'>)</span></font><u1:p></u1:p><o:p></o:p></p>

<p><font size=2 color=red face="Courier New"><span lang=EN-GB style='font-size:
10.0pt;font-family:"Courier New";color:red'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at
com.mchange.v2.resourcepool.BasicResourcePool.access$1900(</span></font><u><font
size=2 color=navy face="Courier New"><span lang=EN-GB style='font-size:10.0pt;
font-family:"Courier New";color:navy'>BasicResourcePool.java:32</span></font></u><font
size=2 color=red face="Courier New"><span lang=EN-GB style='font-size:10.0pt;
font-family:"Courier New";color:red'>)</span></font><u1:p></u1:p><o:p></o:p></p>

<p><font size=2 color=red face="Courier New"><span lang=EN-GB style='font-size:
10.0pt;font-family:"Courier New";color:red'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at
com.mchange.v2.resourcepool.BasicResourcePool$CullTask.run(</span></font><u><font
size=2 color=navy face="Courier New"><span lang=EN-GB style='font-size:10.0pt;
font-family:"Courier New";color:navy'>BasicResourcePool.java:1937</span></font></u><font
size=2 color=red face="Courier New"><span lang=EN-GB style='font-size:10.0pt;
font-family:"Courier New";color:red'>)</span></font><u1:p></u1:p><o:p></o:p></p>

<p><font size=2 color=red face="Courier New"><span lang=EN-GB style='font-size:
10.0pt;font-family:"Courier New";color:red'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at
java.util.TimerThread.mainLoop(</span></font><u><font size=2 color=navy
face="Courier New"><span lang=EN-GB style='font-size:10.0pt;font-family:"Courier New";
color:navy'>Timer.java:512</span></font></u><font size=2 color=red
face="Courier New"><span lang=EN-GB style='font-size:10.0pt;font-family:"Courier New";
color:red'>)</span></font><u1:p></u1:p><o:p></o:p></p>

<p><font size=2 color=red face="Courier New"><span lang=EN-GB style='font-size:
10.0pt;font-family:"Courier New";color:red'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at
java.util.TimerThread.run(</span></font><u><font size=2 color=navy
face="Courier New"><span lang=EN-GB style='font-size:10.0pt;font-family:"Courier New";
color:navy'>Timer.java:462</span></font></u><font size=2 color=red
face="Courier New"><span lang=EN-GB style='font-size:10.0pt;font-family:"Courier New";
color:red'>)</span></font><u1:p></u1:p><o:p></o:p></p>

<p><font size=2 color=red face="Courier New"><span lang=EN-GB style='font-size:
10.0pt;font-family:"Courier New";color:red'>Exception in thread
&quot;Ice.ThreadPool.Server-1&quot; java.lang.OutOfMemoryError: Java heap space</span></font><u1:p></u1:p><o:p></o:p></p>

<p><font size=2 color=red face="Courier New"><span lang=EN-GB style='font-size:
10.0pt;font-family:"Courier New";color:red'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at
org.mvel2.integration.impl.ClassImportResolverFactory.&lt;init&gt;(</span></font><u><font
size=2 color=navy face="Courier New"><span lang=EN-GB style='font-size:10.0pt;
font-family:"Courier New";color:navy'>ClassImportResolverFactory.java:49</span></font></u><font
size=2 color=red face="Courier New"><span lang=EN-GB style='font-size:10.0pt;
font-family:"Courier New";color:red'>)</span></font><u1:p></u1:p><o:p></o:p></p>

<p><font size=2 color=red face="Courier New"><span lang=EN-GB style='font-size:
10.0pt;font-family:"Courier New";color:red'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at
org.mvel2.compiler.CompiledExpression.getValue(</span></font><u><font size=2
color=navy face="Courier New"><span lang=EN-GB style='font-size:10.0pt;
font-family:"Courier New";color:navy'>CompiledExpression.java:104</span></font></u><font
size=2 color=red face="Courier New"><span lang=EN-GB style='font-size:10.0pt;
font-family:"Courier New";color:red'>)</span></font><u1:p></u1:p><o:p></o:p></p>

<p><font size=2 color=red face="Courier New"><span lang=EN-GB style='font-size:
10.0pt;font-family:"Courier New";color:red'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at
org.mvel2.MVEL.executeExpression(</span></font><u><font size=2 color=navy
face="Courier New"><span lang=EN-GB style='font-size:10.0pt;font-family:"Courier New";
color:navy'>MVEL.java:978</span></font></u><font size=2 color=red
face="Courier New"><span lang=EN-GB style='font-size:10.0pt;font-family:"Courier New";
color:red'>)</span></font><u1:p></u1:p><o:p></o:p></p>

<p><font size=2 color=red face="Courier New"><span lang=EN-GB style='font-size:
10.0pt;font-family:"Courier New";color:red'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at
org.drools.base.mvel.MVELPredicateExpression.evaluate(</span></font><u><font
size=2 color=navy face="Courier New"><span lang=EN-GB style='font-size:10.0pt;
font-family:"Courier New";color:navy'>MVELPredicateExpression.java:75</span></font></u><font
size=2 color=red face="Courier New"><span lang=EN-GB style='font-size:10.0pt;
font-family:"Courier New";color:red'>)</span></font><u1:p></u1:p><o:p></o:p></p>

<p><font size=2 color=red face="Courier New"><span lang=EN-GB style='font-size:
10.0pt;font-family:"Courier New";color:red'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at
org.drools.rule.PredicateConstraint.isAllowedCachedLeft(</span></font><u><font
size=2 color=navy face="Courier New"><span lang=EN-GB style='font-size:10.0pt;
font-family:"Courier New";color:navy'>PredicateConstraint.java:295</span></font></u><font
size=2 color=red face="Courier New"><span lang=EN-GB style='font-size:10.0pt;
font-family:"Courier New";color:red'>)</span></font><u1:p></u1:p><o:p></o:p></p>

<p><font size=2 color=red face="Courier New"><span lang=EN-GB style='font-size:
10.0pt;font-family:"Courier New";color:red'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at
org.drools.common.SingleBetaConstraints.isAllowedCachedLeft(</span></font><u><font
size=2 color=navy face="Courier New"><span lang=EN-GB style='font-size:10.0pt;
font-family:"Courier New";color:navy'>SingleBetaConstraints.java:138</span></font></u><font
size=2 color=red face="Courier New"><span lang=EN-GB style='font-size:10.0pt;
font-family:"Courier New";color:red'>)</span></font><u1:p></u1:p><o:p></o:p></p>

<p><font size=2 color=red face="Courier New"><span lang=EN-GB style='font-size:
10.0pt;font-family:"Courier New";color:red'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at
org.drools.reteoo.JoinNode.assertLeftTuple(</span></font><u><font size=2
color=navy face="Courier New"><span lang=EN-GB style='font-size:10.0pt;
font-family:"Courier New";color:navy'>JoinNode.java:114</span></font></u><font
size=2 color=red face="Courier New"><span lang=EN-GB style='font-size:10.0pt;
font-family:"Courier New";color:red'>)</span></font><u1:p></u1:p><o:p></o:p></p>

<p><font size=2 color=red face="Courier New"><span lang=EN-GB style='font-size:
10.0pt;font-family:"Courier New";color:red'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at
org.drools.reteoo.CompositeLeftTupleSinkAdapter.doPropagateAssertLeftTuple(</span></font><u><font
size=2 color=navy face="Courier New"><span lang=EN-GB style='font-size:10.0pt;
font-family:"Courier New";color:navy'>CompositeLeftTupleSinkAdapter.java:145</span></font></u><font
size=2 color=red face="Courier New"><span lang=EN-GB style='font-size:10.0pt;
font-family:"Courier New";color:red'>)</span></font><u1:p></u1:p><o:p></o:p></p>

<p><font size=2 color=red face="Courier New"><span lang=EN-GB style='font-size:
10.0pt;font-family:"Courier New";color:red'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at org.drools.reteoo.CompositeLeftTupleSinkAdapter.createAndPropagateAssertLeftTuple(</span></font><u><font
size=2 color=navy face="Courier New"><span lang=EN-GB style='font-size:10.0pt;
font-family:"Courier New";color:navy'>CompositeLeftTupleSinkAdapter.java:57</span></font></u><font
size=2 color=red face="Courier New"><span lang=EN-GB style='font-size:10.0pt;
font-family:"Courier New";color:red'>)</span></font><u1:p></u1:p><o:p></o:p></p>

<p><font size=2 color=red face="Courier New"><span lang=EN-GB style='font-size:
10.0pt;font-family:"Courier New";color:red'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at
org.drools.reteoo.LeftInputAdapterNode.assertObject(</span></font><u><font
size=2 color=navy face="Courier New"><span lang=EN-GB style='font-size:10.0pt;
font-family:"Courier New";color:navy'>LeftInputAdapterNode.java:142</span></font></u><font
size=2 color=red face="Courier New"><span lang=EN-GB style='font-size:10.0pt;
font-family:"Courier New";color:red'>)</span></font><u1:p></u1:p><o:p></o:p></p>

<p><font size=2 color=red face="Courier New"><span lang=EN-GB style='font-size:
10.0pt;font-family:"Courier New";color:red'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at
org.drools.reteoo.SingleObjectSinkAdapter.propagateAssertObject(</span></font><u><font
size=2 color=navy face="Courier New"><span lang=EN-GB style='font-size:10.0pt;
font-family:"Courier New";color:navy'>SingleObjectSinkAdapter.java:42</span></font></u><font
size=2 color=red face="Courier New"><span lang=EN-GB style='font-size:10.0pt;
font-family:"Courier New";color:red'>)</span></font><u1:p></u1:p><o:p></o:p></p>

<p><font size=2 color=red face="Courier New"><span lang=EN-GB style='font-size:
10.0pt;font-family:"Courier New";color:red'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at
org.drools.reteoo.ObjectTypeNode.assertObject(</span></font><u><font size=2
color=navy face="Courier New"><span lang=EN-GB style='font-size:10.0pt;
font-family:"Courier New";color:navy'>ObjectTypeNode.java:185</span></font></u><font
size=2 color=red face="Courier New"><span lang=EN-GB style='font-size:10.0pt;
font-family:"Courier New";color:red'>)</span></font><u1:p></u1:p><o:p></o:p></p>

<p><font size=2 color=red face="Courier New"><span lang=EN-GB style='font-size:
10.0pt;font-family:"Courier New";color:red'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at
org.drools.reteoo.EntryPointNode.assertObject(</span></font><u><font size=2
color=navy face="Courier New"><span lang=EN-GB style='font-size:10.0pt;
font-family:"Courier New";color:navy'>EntryPointNode.java:146</span></font></u><font
size=2 color=red face="Courier New"><span lang=EN-GB style='font-size:10.0pt;
font-family:"Courier New";color:red'>)</span></font><u1:p></u1:p><o:p></o:p></p>

<p><font size=2 color=red face="Courier New"><span lang=EN-GB style='font-size:
10.0pt;font-family:"Courier New";color:red'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at org.drools.common.AbstractWorkingMemory.insert(</span></font><u><font
size=2 color=navy face="Courier New"><span lang=EN-GB style='font-size:10.0pt;
font-family:"Courier New";color:navy'>AbstractWorkingMemory.java:1046</span></font></u><font
size=2 color=red face="Courier New"><span lang=EN-GB style='font-size:10.0pt;
font-family:"Courier New";color:red'>)</span></font><u1:p></u1:p><o:p></o:p></p>

<p><font size=2 color=red face="Courier New"><span lang=EN-GB style='font-size:
10.0pt;font-family:"Courier New";color:red'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at
org.drools.common.AbstractWorkingMemory.insert(</span></font><u><font size=2
color=navy face="Courier New"><span lang=EN-GB style='font-size:10.0pt;
font-family:"Courier New";color:navy'>AbstractWorkingMemory.java:1001</span></font></u><font
size=2 color=red face="Courier New"><span lang=EN-GB style='font-size:10.0pt;
font-family:"Courier New";color:red'>)</span></font><u1:p></u1:p><o:p></o:p></p>

<p><font size=2 color=red face="Courier New"><span lang=EN-GB style='font-size:
10.0pt;font-family:"Courier New";color:red'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at
org.drools.common.AbstractWorkingMemory.insert(</span></font><u><font size=2
color=navy face="Courier New"><span lang=EN-GB style='font-size:10.0pt;
font-family:"Courier New";color:navy'>AbstractWorkingMemory.java:788</span></font></u><font
size=2 color=red face="Courier New"><span lang=EN-GB style='font-size:10.0pt;
font-family:"Courier New";color:red'>)</span></font><u1:p></u1:p><o:p></o:p></p>

<p><font size=2 color=red face="Courier New"><span lang=EN-GB style='font-size:
10.0pt;font-family:"Courier New";color:red'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at
org.drools.impl.StatefulKnowledgeSessionImpl.insert(</span></font><u><font
size=2 color=navy face="Courier New"><span lang=EN-GB style='font-size:10.0pt;
font-family:"Courier New";color:navy'>StatefulKnowledgeSessionImpl.java:216</span></font></u><font
size=2 color=red face="Courier New"><span lang=EN-GB style='font-size:10.0pt;
font-family:"Courier New";color:red'>)</span></font><u1:p></u1:p><o:p></o:p></p>

<p><font size=2 color=red face="Courier New"><span lang=EN-GB style='font-size:
10.0pt;font-family:"Courier New";color:red'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at
north.stardust2.services.trading.booking.impl.DealBookingProcessorImpl.insertDealFacts(</span></font><u><font
size=2 color=navy face="Courier New"><span lang=EN-GB style='font-size:10.0pt;
font-family:"Courier New";color:navy'>DealBookingProcessorImpl.java:200</span></font></u><font
size=2 color=red face="Courier New"><span lang=EN-GB style='font-size:10.0pt;
font-family:"Courier New";color:red'>)</span></font><u1:p></u1:p><o:p></o:p></p>

<p><font size=2 face=Verdana><span lang=EN-GB style='font-size:10.0pt;
font-family:Verdana'>So to summarize my questions : </span></font><u1:p></u1:p><o:p></o:p></p>

<p style='margin-left:36.0pt'><font size=2 face=Verdana><span lang=EN-GB
style='font-size:10.0pt;font-family:Verdana'>-</span></font><font size=1><span
lang=EN-GB style='font-size:7.0pt'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></font><font size=2 face=Verdana><span lang=EN-GB style='font-size:10.0pt;
font-family:Verdana'>how can I fix the facts insertion ?</span></font><u1:p></u1:p><o:p></o:p></p>

<p style='margin-left:36.0pt'><font size=2 face=Verdana><span lang=EN-GB
style='font-size:10.0pt;font-family:Verdana'>-</span></font><font size=1><span
lang=EN-GB style='font-size:7.0pt'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></font><font size=2 face=Verdana><span lang=EN-GB style='font-size:10.0pt;
font-family:Verdana'>is there some newbie mistakes in my approach ?</span></font><u1:p></u1:p><o:p></o:p></p>

<p><font size=2 face=Verdana><span lang=EN-GB style='font-size:10.0pt;
font-family:Verdana'>Thanks in advance for your help,</span></font><u1:p></u1:p><o:p></o:p></p>

<p><font size=2 face=Verdana><span lang=EN-GB style='font-size:10.0pt;
font-family:Verdana'>Regards, </span></font><u1:p></u1:p><o:p></o:p></p>

<p><font size=2 face=Verdana><span lang=EN-GB style='font-size:10.0pt;
font-family:Verdana'>Jo&#235;l Costigliola</span></font><u1:p></u1:p><o:p></o:p></p>

</div>

<div>

<div class=MsoNormal align=center style='text-align:center'><font size=3
face="Times New Roman"><span style='font-size:12.0pt'>

<hr size=2 width="100%" align=center>

</span></font></div>

</div>

<div>

<p><font size=3 face="Times New Roman"><span style='font-size:12.0pt'>&nbsp;<u1:p></u1:p><o:p></o:p></span></font></p>

</div>

<div>

<p><font size=2 color=black face="Times New Roman"><span style='font-size:10.0pt;
color:black'>Ce courriel et toutes les pi&#232;ces jointes sont confidentiels et peuvent
&#234;tre couverts par un privil&#232;ge ou une protection l&#233;gale. Il est &#233;tabli &#224;
l&#8217;attention exclusive de ses destinataires. Toute utilisation de ce courriel
non conforme &#224; sa destination, toute diffusion ou toute publication, totale ou
partielle, est interdite, sauf autorisation expresse pr&#233;alable. Toutes opinions
exprim&#233;es dans ce courriel ne sauraient n&#233;cessairement refl&#233;ter celle de
Natixis, de ses filiales. Elles sont aussi susceptibles de modification sans
notification pr&#233;alable. Si vous recevez ce courriel par erreur, merci de le
d&#233;truire et d&#8217;en avertir imm&#233;diatement l&#8217;exp&#233;diteur. L&#8217;Internet ne permettant
pas d&#8217;assurer l&#8217;int&#233;grit&#233; de ce courriel, Natixis d&#233;cline toute responsabilit&#233;
s&#8217;il a &#233;t&#233; alt&#233;r&#233;, d&#233;form&#233; ou falsifi&#233; et chaque destinataire qui utilise ce
mode de communication est suppos&#233; en accepter les risques.</span></font> <u1:p></u1:p><o:p></o:p></p>

</div>

<div>

<p><font size=3 face="Times New Roman"><span style='font-size:12.0pt'>&nbsp;<u1:p></u1:p><o:p></o:p></span></font></p>

</div>

<div>

<p><font size=2 color=black face="Times New Roman"><span style='font-size:10.0pt;
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> <u1:p></u1:p><o:p></o:p></p>

</div>

<div class=MsoNormal align=center style='text-align:center'><font size=3
face="Times New Roman"><span style='font-size:12.0pt'>

<hr size=2 width="100%" align=center>

</span></font></div>

</div>

</blockquote>

</div>

</div>

</div>

</div>

<div>

<div>

<div>

<div class=MsoNormal align=center style='text-align:center'><font size=3
face="Times New Roman"><span style='font-size:12.0pt'>

<hr size=2 width="100%" align=center>

</span></font></div>

</div>

<div>

<p class=MsoNormal><font size=3 face="Times New Roman"><span style='font-size:
12.0pt'>&nbsp;<u1:p></u1:p><o:p></o:p></span></font></p>

</div>

<div>

<p class=MsoNormal><font size=2 color=black face="Times New Roman"><span
style='font-size:10.0pt;color:black'>Ce courriel et toutes les pi&#232;ces jointes
sont confidentiels et peuvent &#234;tre couverts par un privil&#232;ge ou une protection
l&#233;gale. Il est &#233;tabli &#224; l&#8217;attention exclusive de ses destinataires. Toute
utilisation de ce courriel non conforme &#224; sa destination, toute diffusion ou
toute publication, totale ou partielle, est interdite, sauf autorisation
expresse pr&#233;alable. Toutes opinions exprim&#233;es dans ce courriel ne sauraient
n&#233;cessairement refl&#233;ter celle de Natixis, de ses filiales. Elles sont aussi
susceptibles de modification sans notification pr&#233;alable. Si vous recevez ce
courriel par erreur, merci de le d&#233;truire et d&#8217;en avertir imm&#233;diatement
l&#8217;exp&#233;diteur. L&#8217;Internet ne permettant pas d&#8217;assurer l&#8217;int&#233;grit&#233; de ce
courriel, Natixis d&#233;cline toute responsabilit&#233; s&#8217;il a &#233;t&#233; alt&#233;r&#233;, d&#233;form&#233; ou
falsifi&#233; et chaque destinataire qui utilise ce mode de communication est
suppos&#233; en accepter les risques.</span></font> <u1:p></u1:p><o:p></o:p></p>

</div>

<div>

<p class=MsoNormal><font size=3 face="Times New Roman"><span style='font-size:
12.0pt'>&nbsp;<u1:p></u1:p><o:p></o:p></span></font></p>

</div>

<div>

<p class=MsoNormal><font size=2 color=black face="Times New Roman"><span
style='font-size:10.0pt;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> <u1:p></u1:p><o:p></o:p></p>

</div>

<div class=MsoNormal align=center style='text-align:center'><font size=3
face="Times New Roman"><span style='font-size:12.0pt'>

<hr size=2 width="100%" align=center>

</span></font></div>

</div>

</div>

</div>

</div>

<p class=MsoNormal style='margin-bottom:12.0pt'><font size=3
face="Times New Roman"><span style='font-size:12.0pt'><br>
_______________________________________________<br>
rules-users mailing list<br>
<a href="mailto:rules-users@lists.jboss.org">rules-users@lists.jboss.org</a><br>
<a href="https://lists.jboss.org/mailman/listinfo/rules-users" target="_blank">https://lists.jboss.org/mailman/listinfo/rules-users</a><u1:p></u1:p><o:p></o:p></span></font></p>

</div>

<p class=MsoNormal><font size=3 face="Times New Roman"><span style='font-size:
12.0pt'><u1:p>&nbsp;</u1:p><o:p></o:p></span></font></p>

</div>

<div>

<div class=MsoNormal align=center style='text-align:center'><font size=3
face="Times New Roman"><span style='font-size:12.0pt'>

<hr size=2 width="100%" align=center>

</span></font></div>

</div>

<div>

<p class=MsoNormal><font size=3 face="Times New Roman"><span style='font-size:
12.0pt'>&nbsp;<o:p></o:p></span></font></p>

</div>

<div>

<p class=MsoNormal><font size=2 color=black face="Times New Roman"><span
style='font-size:10.0pt;color:black'>Ce courriel et toutes les pi&#232;ces jointes
sont confidentiels et peuvent &#234;tre couverts par un privil&#232;ge ou une protection
l&#233;gale. Il est &#233;tabli &#224; l&#8217;attention exclusive de ses destinataires. Toute
utilisation de ce courriel non conforme &#224; sa destination, toute diffusion ou
toute publication, totale ou partielle, est interdite, sauf autorisation
expresse pr&#233;alable. Toutes opinions exprim&#233;es dans ce courriel ne sauraient
n&#233;cessairement refl&#233;ter celle de Natixis, de ses filiales. Elles sont aussi
susceptibles de modification sans notification pr&#233;alable. Si vous recevez ce
courriel par erreur, merci de le d&#233;truire et d&#8217;en avertir imm&#233;diatement
l&#8217;exp&#233;diteur. L&#8217;Internet ne permettant pas d&#8217;assurer l&#8217;int&#233;grit&#233; de ce
courriel, Natixis d&#233;cline toute responsabilit&#233; s&#8217;il a &#233;t&#233; alt&#233;r&#233;, d&#233;form&#233; ou
falsifi&#233; et chaque destinataire qui utilise ce mode de communication est
suppos&#233; en accepter les risques.</span></font> <o:p></o:p></p>

</div>

<div>

<p class=MsoNormal><font size=3 face="Times New Roman"><span style='font-size:
12.0pt'>&nbsp;<o:p></o:p></span></font></p>

</div>

<div>

<p class=MsoNormal><font size=2 color=black face="Times New Roman"><span
style='font-size:10.0pt;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 align=center style='text-align:center'><font size=3
face="Times New Roman"><span style='font-size:12.0pt'>

<hr size=2 width="100%" align=center>

</span></font></div>

</div>

</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>&nbsp;</DIV>
<DIV ALIGN="justify">
<FONT COLOR="gray"><SPAN STYLE="FONT-SIZE: 12pt"><FONT COLOR="#000000" SIZE="2">Ce courriel et toutes les pi&#232;ces jointes sont confidentiels et peuvent &#234;tre couverts par un privil&#232;ge ou une protection l&#233;gale. Il est &#233;tabli &#224; l&#8217;attention exclusive de ses destinataires. Toute utilisation de ce courriel non conforme &#224; sa destination, toute diffusion ou toute publication, totale ou partielle, est interdite, sauf autorisation expresse pr&#233;alable. Toutes opinions exprim&#233;es dans ce courriel ne sauraient n&#233;cessairement refl&#233;ter celle de Natixis, de ses filiales. Elles sont aussi susceptibles de modification sans notification pr&#233;alable. Si vous recevez ce courriel par erreur, merci de le d&#233;truire et d&#8217;en avertir imm&#233;diatement l&#8217;exp&#233;diteur. L&#8217;Internet ne permettant pas d&#8217;assurer l&#8217;int&#233;grit&#233; de ce courriel, Natixis d&#233;cline toute responsabilit&#233; s&#8217;il a &#233;t&#233; alt&#233;r&#233;, d&#233;form&#233; ou falsifi&#233; et chaque destinataire qui utilise ce mode de communication est suppos&#233; en accepter les risques.</FONT></SPAN></FONT>
</DIV>
<DIV ALIGN="justify">
<FONT COLOR="gray"><SPAN STYLE="FONT-SIZE: 12pt"></SPAN></FONT>&nbsp;</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>
</DIV></BODY></HTML>