Depending on the amount of rules you have, compilation could be expensive. I recommend you to use the binary format instead of the drl. <div>You already figured out the things you need to change in your code, so there is nothing else to say.</div>

<div><br></div><div>Best Regards,  <br clear="all"><br>XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX<br><br>Esteban Aliverti<br>- Developer @ <a href="http://www.plugtree.com" target="_blank">http://www.plugtree.com </a><br>- Blog @ <a href="http://ilesteban.wordpress.com" target="_blank">http://ilesteban.wordpress.com</a><br>


<br><br><div class="gmail_quote">2011/1/6 Dean Whisnant <span dir="ltr">&lt;<a href="mailto:dean@basys.com">dean@basys.com</a>&gt;</span><br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">

<div lang="EN-US" link="blue" vlink="purple"><div><p class="MsoNormal"><span style="font-size:11.0pt;color:#1F497D">A bit of a follow-up on this:</span></p><p class="MsoNormal"><span style="font-size:11.0pt;color:#1F497D"> </span></p>

<p class="MsoNormal"><span style="font-size:11.0pt;color:#1F497D">When I build the package inside of Guvnor it shows me the following on the package build screen:</span></p><table border="0" cellpadding="0"><tbody><tr><td valign="top" style="padding:.75pt .75pt .75pt .75pt">

<p class="MsoNormal" align="right" style="text-align:right;line-height:18.0pt"><b><span style="font-size:11.0pt;color:#1F497D">Last Modified:</span></b></p></td><td style="padding:.75pt .75pt .75pt .75pt"><p class="MsoNormal" style="line-height:18.0pt">

<b><span style="font-size:11.0pt;color:#1F497D">Wednesday, January 05, 2011 12:22:25 PM</span></b></p></td></tr><tr><td valign="top" style="padding:.75pt .75pt .75pt .75pt"><p class="MsoNormal" align="right" style="text-align:right;line-height:18.0pt">

<b><span style="font-size:11.0pt;color:#1F497D">Last contributor:</span></b></p></td><td style="padding:.75pt .75pt .75pt .75pt"><p class="MsoNormal" style="line-height:18.0pt"><b><span style="font-size:11.0pt;color:#1F497D">admin</span></b></p>

</td></tr><tr><td valign="top" style="padding:.75pt .75pt .75pt .75pt"><p class="MsoNormal" align="right" style="text-align:right;line-height:18.0pt"><b><span style="font-size:11.0pt;color:#1F497D">Date created:</span></b></p>

</td><td style="padding:.75pt .75pt .75pt .75pt"><p class="MsoNormal" style="line-height:18.0pt"><b><span style="font-size:11.0pt;color:#1F497D">Wednesday, January 05, 2011 12:15:42 PM</span></b></p></td></tr><tr><td valign="top" style="padding:.75pt .75pt .75pt .75pt">

<p class="MsoNormal" align="right" style="text-align:right;line-height:18.0pt"><b><span style="font-size:11.0pt;color:#1F497D">Show package source:</span></b></p></td><td style="padding:.75pt .75pt .75pt .75pt"><p class="MsoNormal" style="line-height:18.0pt">

<b><span style="font-size:11.0pt;color:#1F497D">Show package source</span></b></p></td></tr><tr><td valign="top" style="padding:.75pt .75pt .75pt .75pt"><p class="MsoNormal" align="right" style="text-align:right;line-height:18.0pt">

<b><span style="font-size:11.0pt;color:#1F497D">URL for package documentation:</span></b></p></td><td style="padding:.75pt .75pt .75pt .75pt"><table border="0" cellspacing="0" cellpadding="0"><tbody><tr><td valign="top" style="padding:0in 0in 0in 0in">

<p class="MsoNormal" style="line-height:18.0pt"><b><span style="font-size:11.0pt;color:#1F497D"><a href="http://vmjboss:8080/drools-guvnor/org.drools.guvnor.Guvnor/package/A_RDR_v9/LATEST/documentation.pdf" target="_blank"><span style="color:#1F497D;text-decoration:none">http://vmjboss:8080/drools-guvnor/org.drools.guvnor.Guvnor/package/A_RDR_v9/LATEST/documentation.pdf</span></a></span></b></p>

</td><td valign="top" style="padding:0in 0in 0in 0in"><p class="MsoNormal" style="line-height:18.0pt"><b><span style="font-size:11.0pt;color:#1F497D"><img border="0" width="16" height="16" src="cid:image001.gif@01CBADB2.904201E0" alt="Description: http://vmjboss:8080/drools-guvnor/org.drools.guvnor.Guvnor/images/information.gif"></span></b><b><span style="font-size:11.0pt;color:#1F497D"></span></b></p>

</td></tr></tbody></table></td></tr><tr><td valign="top" style="padding:0in 0in 0in 0in"><p class="MsoNormal" align="right" style="text-align:right;line-height:18.0pt"><b><span style="font-size:11.0pt;color:#1F497D">URL for package source:</span></b></p>

</td><td style="padding:0in 0in 0in 0in"><table border="0" cellspacing="0" cellpadding="0"><tbody><tr><td valign="top" style="padding:0in 0in 0in 0in"><p class="MsoNormal" style="line-height:18.0pt"><b><span style="font-size:11.0pt;color:#1F497D"><a href="http://vmjboss:8080/drools-guvnor/org.drools.guvnor.Guvnor/package/A_RDR_v9/LATEST.drl" target="_blank"><span style="color:#1F497D;text-decoration:none">http://vmjboss:8080/drools-guvnor/org.drools.guvnor.Guvnor/package/A_RDR_v9/LATEST.drl</span></a></span></b></p>

</td><td valign="top" style="padding:0in 0in 0in 0in"><p class="MsoNormal" style="line-height:18.0pt"><b><span style="font-size:11.0pt;color:#1F497D"><img border="0" width="16" height="16" src="cid:image001.gif@01CBADB2.904201E0" alt="Description: http://vmjboss:8080/drools-guvnor/org.drools.guvnor.Guvnor/images/information.gif"></span></b><b><span style="font-size:11.0pt;color:#1F497D"></span></b></p>

</td></tr></tbody></table></td></tr><tr><td valign="top" style="padding:0in 0in 0in 0in"><p class="MsoNormal" align="right" style="text-align:right;line-height:18.0pt"><b><span style="font-size:11.0pt;color:#1F497D">URL for package binary:</span></b></p>

</td><td style="padding:0in 0in 0in 0in"><table border="0" cellspacing="0" cellpadding="0"><tbody><tr><td valign="top" style="padding:0in 0in 0in 0in"><p class="MsoNormal" style="line-height:18.0pt"><b><span style="font-size:11.0pt;color:#1F497D"><a href="http://vmjboss:8080/drools-guvnor/org.drools.guvnor.Guvnor/package/A_RDR_v9/LATEST" target="_blank"><span style="color:#1F497D;text-decoration:none">http://vmjboss:8080/drools-guvnor/org.drools.guvnor.Guvnor/package/A_RDR_v9/LATEST</span></a></span></b></p>

</td><td valign="top" style="padding:0in 0in 0in 0in"><p class="MsoNormal" style="line-height:18.0pt"><b><span style="font-size:11.0pt;color:#1F497D"><img border="0" width="16" height="16" src="cid:image001.gif@01CBADB2.904201E0" alt="Description: http://vmjboss:8080/drools-guvnor/org.drools.guvnor.Guvnor/images/information.gif"></span></b><b><span style="font-size:11.0pt;color:#1F497D"></span></b></p>

</td></tr></tbody></table></td></tr><tr><td valign="top" style="padding:0in 0in 0in 0in"><p class="MsoNormal" align="right" style="text-align:right;line-height:18.0pt"><b><span style="font-size:11.0pt;color:#1F497D">URL for running tests:</span></b></p>

</td><td style="padding:0in 0in 0in 0in"><table border="0" cellspacing="0" cellpadding="0"><tbody><tr><td valign="top" style="padding:0in 0in 0in 0in"><p class="MsoNormal" style="line-height:18.0pt"><b><span style="font-size:11.0pt;color:#1F497D"><a href="http://vmjboss:8080/drools-guvnor/org.drools.guvnor.Guvnor/package/A_RDR_v9/LATEST/SCENARIOS" target="_blank"><span style="color:#1F497D;text-decoration:none">http://vmjboss:8080/drools-guvnor/org.drools.guvnor.Guvnor/package/A_RDR_v9/LATEST/SCENARIOS</span></a></span></b></p>

</td><td valign="top" style="padding:0in 0in 0in 0in"><p class="MsoNormal" style="line-height:18.0pt"><b><span style="font-size:11.0pt;color:#1F497D"><img border="0" width="16" height="16" src="cid:image001.gif@01CBADB2.904201E0" alt="Description: http://vmjboss:8080/drools-guvnor/org.drools.guvnor.Guvnor/images/information.gif"></span></b><b><span style="font-size:11.0pt;color:#1F497D"></span></b></p>

</td></tr></tbody></table></td></tr><tr><td valign="top" style="padding:0in 0in 0in 0in"><p class="MsoNormal" align="right" style="text-align:right;line-height:18.0pt"><b><span style="font-size:11.0pt;color:#1F497D">Change Set:</span></b></p>

</td><td style="padding:0in 0in 0in 0in"><table border="0" cellspacing="0" cellpadding="0"><tbody><tr><td valign="top" style="padding:0in 0in 0in 0in"><p class="MsoNormal" style="line-height:18.0pt"><b><span style="font-size:11.0pt;color:#1F497D"><a href="http://vmjboss:8080/drools-guvnor/org.drools.guvnor.Guvnor/package/A_RDR_v9/LATEST/ChangeSet.xml" target="_blank"><span style="color:#1F497D;text-decoration:none">http://vmjboss:8080/drools-guvnor/org.drools.guvnor.Guvnor/package/A_RDR_v9/LATEST/ChangeSet.xml</span></a></span></b></p>

</td><td valign="top" style="padding:0in 0in 0in 0in"><p class="MsoNormal" style="line-height:18.0pt"><b><span style="font-size:11.0pt;color:#1F497D"><img border="0" width="16" height="16" src="cid:image001.gif@01CBADB2.904201E0" alt="Description: http://vmjboss:8080/drools-guvnor/org.drools.guvnor.Guvnor/images/information.gif"></span></b><b><span style="font-size:11.0pt;color:#1F497D"></span></b></p>

</td></tr></tbody></table></td></tr><tr><td valign="top" style="padding:0in 0in 0in 0in"><p class="MsoNormal" align="right" style="text-align:right;line-height:18.0pt"><b><span style="font-size:11.0pt;color:#1F497D">Status:</span></b></p>

</td><td style="padding:0in 0in 0in 0in"><table border="0" cellspacing="0" cellpadding="0"><tbody><tr><td valign="top" style="padding:0in 0in 0in 0in"></td><td valign="top" style="padding:0in 0in 0in 0in"><p class="MsoNormal" style="line-height:18.0pt">

<b><span style="font-size:11.0pt;color:#1F497D"><img border="0" width="16" height="16" src="cid:image002.gif@01CBADB2.904201E0" alt="Description: http://vmjboss:8080/drools-guvnor/org.drools.guvnor.Guvnor/images/edit.gif"></span></b><b><span style="font-size:11.0pt;color:#1F497D"></span></b></p>

</td></tr></tbody></table></td></tr></tbody></table><p class="MsoNormal"><span style="font-size:11.0pt;color:#1F497D"> </span></p><p class="MsoNormal"><span style="font-size:11.0pt;color:#1F497D">In the example below you showed how I could use the .drl, but is there an advantage for me to directly use the package here? Or say I create a package snapshot and it gives me the following url</span></p>

<p class="MsoNormal" style="text-indent:.5in"><b><span style="font-size:11.0pt;color:#1F497D"><a href="http://vmjboss:8080/drools-guvnor/org.drools.guvnor.Guvnor/package/A_RDR_v9/20110106" target="_blank">http://vmjboss:8080/drools-guvnor/org.drools.guvnor.Guvnor/package/A_RDR_v9/20110106</a></span></b></p>

<p class="MsoNormal"><span style="font-size:11.0pt;color:#1F497D"> </span></p><p class="MsoNormal"><span style="font-size:11.0pt;color:#1F497D">Does using this package decrease the runtime inside of my app because Guvnor has pre-built the tables?</span></p>

<p class="MsoNormal"><span style="font-size:11.0pt;color:#1F497D"> </span></p><p class="MsoNormal"><span style="font-size:11.0pt;color:#1F497D">If so, based on the example below, how would I implement using something like this package snapshot?  Would it be as simple as:</span></p>

<p class="MsoNormal"><span style="font-size:11.0pt;color:#1F497D"> </span></p><p class="MsoNormal" style="text-indent:.5in"><b><span style="font-size:11.0pt;color:#1F497D">final String STANDARD_URL= <a href="http://vmjboss:8080/drools-guvnor/org.drools.guvnor.Guvnor/package/A_RDR_v9/20110106" target="_blank">http://vmjboss:8080/drools-guvnor/org.drools.guvnor.Guvnor/package/A_RDR_v9/20110106</a>;</span></b></p>

<p class="MsoNormal"><span style="font-size:11.0pt;color:#1F497D"> </span></p><p class="MsoNormal"><span style="font-size:11.0pt;color:#1F497D">and then</span></p><p class="MsoNormal"><span style="font-size:11.0pt;color:#1F497D"> </span></p>

<p class="MsoNormal"><span style="font-size:11.0pt;color:#1F497D">                <b>kbuilder.add( standardUrlResource, ResourceType.<span style="background:yellow">PKG</span>);</b></span></p><p class="MsoNormal"><span style="font-size:11.0pt;color:#1F497D"> </span></p>

<p class="MsoNormal"><span style="font-size:11.0pt;color:#1F497D">leaving all other lines the same?</span></p><p class="MsoNormal"><span style="font-size:11.0pt;color:#1F497D"> </span></p><p class="MsoNormal"><span style="font-size:11.0pt;color:#1F497D">Thank you!</span></p>

<p class="MsoNormal"><span style="font-size:11.0pt;color:#1F497D"> </span></p><p class="MsoNormal"><span style="font-size:11.0pt;color:#1F497D">Dean Whisnant</span></p><div class="im"><p class="MsoNormal"><span style="font-size:11.0pt;color:#1F497D"> </span></p>

<p class="MsoNormal"><span style="font-size:11.0pt;color:#1F497D"> </span></p><p class="MsoNormal"><b><span style="font-size:10.0pt">From:</span></b><span style="font-size:10.0pt"> <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>On Behalf Of </b>Michael Anstis<br>

<b>Sent:</b> Tuesday, January 04, 2011 3:31 AM<br><b>To:</b> Rules Users List<br><b>Subject:</b> Re: [rules-users] Knowledge Base and Guvnor</span></p><p class="MsoNormal"> </p></div><p class="MsoNormal" style="margin-bottom:12.0pt">

Hi,</p><div><div></div><div class="h5"><br><br>You should be able to use the URL syntax with KnowledgeBuilder as follows:-<br><span style="font-family:&quot;Courier New&quot;"><br>final String STANDARD_URL = &quot;<a href="http://your-guvnor-instance-host/org.drools.guvnor.Guvnor/package/standard/LATEST.drl" target="_blank">http://your-guvnor-instance-host/org.drools.guvnor.Guvnor/package/standard/LATEST.drl</a>&quot;;<br>

final String CUSTOMER_URL=&quot;<a href="http://your-guvnor-instance-host/org.drools.guvnor.Guvnor/package/customer/LATEST.drl" target="_blank">http://your-guvnor-instance-host/org.drools.guvnor.Guvnor/package/customer/LATEST.drl</a>&quot;;<br>

<br>KnowledgeBuilder kbuilder = KnowledgeBuilderFactory.newKnowledgeBuilder();<br><br>UrlResource standardUrlResource = (UrlResource)ResourceFactory.newUrlResource(STANDARD_URL);<br>standardUrlResource.setBasicAuthentication(&quot;enabled&quot;);<br>

standardUrlResource.setUsername(&quot;xyz&quot;);<br>standardUrlResource.setPassword(&quot;abc&quot;);<br><br>UrlResource customerUrlResource = (UrlResource)ResourceFactory.newUrlResource(CUSTOMER_URL);<br>customerUrlResource.setBasicAuthentication(&quot;enabled&quot;);<br>

customerUrlResource.setUsername(&quot;xyz&quot;);<br>customerUrlResource.setPassword(&quot;abc&quot;);<br><br>kbuilder.add( standardUrlResource, ResourceType.DRL);<br>kbuilder.add( customerUrlResource, ResourceType.DRL);<br>

<br>assertFalse( kbuilder.hasErrors() );<br>KnowledgeBase kbase = KnowledgeBaseFactory.newKnowledgeBase();<br></span><br>I don&#39;t think you&#39;d need to (or want to) create two KnowledgeBases: You could ensure &quot;standard&quot; rules are applied first by any of Drools&#39; agenda controls; i.e. salience, agenda-group or ruleflow; plus sharing a single KnowledgeBase ensures rules in both packages that share patterns are optimissed in the RETE network.<br>

<br>Use of ChangeSet could make things a little simpler too (rather than the individual UrlResources).<br><br>Cheers,<br><br>Mike</div></div><p></p><div><div></div><div class="h5"><div><p class="MsoNormal">On 3 January 2011 20:03, Dean Whisnant &lt;<a href="mailto:dean@basys.com" target="_blank">dean@basys.com</a>&gt; wrote:</p>

<p class="MsoNormal">Hi all, thank you for all the help in the past.<br><br>I&#39;m to a point in my project of implementing Guvnor built packages into my java code that calls drools.<br><br>In the past I used the simple solution of building the knowledge agent on a .drl file as follows:<br>

<br>       //Setup the knowledge session for drools<br>       private static KnowledgeBase readKnowledgeBase() throws Exception {<br>               KnowledgeBuilder kbuilder = KnowledgeBuilderFactory<br>                               .newKnowledgeBuilder();<br>

               kbuilder.add(ResourceFactory.newClassPathResource(&quot;Standard837P.drl&quot;),<br>                               ResourceType.DRL);<br>               KnowledgeBuilderErrors errors = kbuilder.getErrors();<br>

               if (errors.size() &gt; 0) {<br>                       for (KnowledgeBuilderError error : errors) {<br>                               System.err.println(error);<br>                       }<br>                       throw new IllegalArgumentException(&quot;Could not parse knowledge.&quot;);<br>

               }<br>               KnowledgeBase kbase = KnowledgeBaseFactory.newKnowledgeBase();<br>               kbase.addKnowledgePackages(kbuilder.getKnowledgePackages());<br>               return kbase;<br>       }<br>

<br>A little background before the question.  My project includes one set of rules that are standard business logic, we&#39;ll call that STANDARD for now and one set of rules that any one of my 45 customers could have created, we&#39;ll call CUSTOMER, on our common guvnor server.  My java code knows which customer is running the app, so determining which two packages I want to fire is simple.  The part that is not as straight forward for me is how I then I migrate using the guvnor urls in my above code.<br>

<br>I thought it would be as easy as to replace &quot;Standard837P.drl&quot; above with the STANDARD url and create a second add that would use the CUSTOMER url.<br><br>I also want all of my STANDARD rules applied before my CUSTOMER rules are applied.  This got me thinking that I need to have two independent knowledge bases running so that I fire all in the first and then fire all in the second.<br>

<br>Backing up a bit again, my application looks through an incoming file inserting facts into the knowledge base for one medical claim line item, fires rules, writes out results to a database, and then moves on to the next claim line item in the file.<br>

<br>1) What would the syntax need to be to implement the STANDARD and CUSTOMER urls?<br>2) Would I need to create two independent knowledge bases?<br>3) DO you see any performance issues in this arrangement?<br><br>Thank you!<br>

<br>Dean<br><br>_______________________________________________<br>rules-users mailing list<br><a href="mailto:rules-users@lists.jboss.org" target="_blank">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></p>

</div><p class="MsoNormal"> </p></div></div></div></div><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><br>
<br></blockquote></div><br></div>