<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <meta content="text/html; charset=ISO-8859-1"
      http-equiv="Content-Type">
  </head>
  <body bgcolor="#ffffff" text="#000000">
    you may reconsider the structure of the rules.<br>
    <br>
    Push instead of pull. This means compare the file time or content to
    the database and only recreate rules that have modified. This way
    you can update the serialized packages where appropriate.<br>
    <br>
    Without knowing what your rules looks like I can offer the
    following:<br>
    Consider using decision tables where the rules are similar but based
    on data.<br>
    Consider having rules that to retrieve the data instead of rules
    generated from the data.<br>
    Consider that some of the data may be facts and not rules. <br>
    <br>
    If you can generate rules from data then you can write rules that
    use the data as facts.<br>
    <br>
    On 07/01/2011 16:16, Piotr Jedrychowski wrote:
    <blockquote cite="mid:4D27202D.2050300@proximetry.pl" type="cite">
      <meta content="text/html; charset=ISO-8859-1"
        http-equiv="Content-Type">
      <font face="Times New Roman, Times, serif">Part:<br>
      </font><font face="Times New Roman, Times, serif"><small><font
            face="Courier New, Courier, monospace">knowledgeBuilder.add(resource,

            ResourceType.DRL);</font></small></font><font face="Times
        New Roman, Times, serif"><br>
        is the most expensive part of my source code - rest of
        instructions are nothing when you compare them to above line.<br>
        <br>
        I cannot serialize the compiled rule packages because rules are
        generated from data read from database and this data isn't
        static. Data is generated before loading rules from files that
        user can change - so I have to do this:<br>
        1) read files (which could be changed by user since last JBoss
        startup)<br>
        2) process files and generate rows for database<br>
        3) get rows from database and generate rules for Drools<br>
        <br>
        Rules aren't stored directly into database - I wasn't accurate
        in my previous e-mail. - sorry.<br>
        <br>
        <br>
      </font><br>
      On 2011-01-07 14:00, Corneil du Plessis wrote:
      <blockquote cite="mid:4D270E86.8020008@tsctech.com" type="cite">
        <meta http-equiv="Content-Type" content="text/html;
          charset=ISO-8859-1">
        You should only repeat <br>
        <br>
        <small><tt>knowledgeBuilder.add(resource, ResourceType.DRL);</tt></small><font
          face="Times New Roman, Times, serif"><small><font
              face="Courier New, Courier, monospace"><br>
              <br>
            </font></small></font><small>for each rule.<br>
          <br>
          The next thing you can do is to serialize the compiled rule
          packages.<br>
          <br>
          You should also consider using Guvnor to manage your rules.<br>
        </small><font face="Times New Roman, Times, serif"><small><font
              face="Courier New, Courier, monospace"><br>
            </font></small></font>On 07/01/2011 14:05, Piotr
        Jedrychowski wrote:
        <blockquote cite="mid:4D27019C.4050401@proximetry.pl"
          type="cite"> <font face="Times New Roman, Times, serif">Hello.<br>
            <br>
            I'm loading a big amount of rules during starting of JBoss
            (20000 rules). All rules (in string format) are available
            before JBoss startup - they are stored into database. Rules
            are loaded one by one and it takes about 90 minutes. I want
            to speed up this process. Is there something like "bulk
            load" for inserting rules into knowledge base or another
            smart way to fast loading a big amount of rules?<br>
            <br>
            I'm using:<br>
            1) Drools 5.1<br>
            2) JBoss 4.2.3<br>
            <br>
            My source code looks like this:<br>
            <br>
            <small><font face="Courier New, Courier, monospace">String
                rule = ...<br>
                Resource resource =
                ResourceFactory.newReaderResource(new
                StringReader(rule));<br>
                KnowledgeBuilder knowledgeBuilder =
                KnowledgeBuilderFactory.newKnowledgeBuilder();<br>
                knowledgeBuilder.add(resource, ResourceType.DRL);<br>
knowledgeBase.addKnowledgePackages(knowledgeBuilder.getKnowledgePackages());</font></small><br>
            <br>
            Regards,<br>
            Piotr<br>
          </font>
          <pre wrap=""><fieldset class="mimeAttachmentHeader"></fieldset>
_______________________________________________
rules-users mailing list
<a moz-do-not-send="true" class="moz-txt-link-abbreviated" href="mailto:rules-users@lists.jboss.org">rules-users@lists.jboss.org</a>
<a moz-do-not-send="true" class="moz-txt-link-freetext" href="https://lists.jboss.org/mailman/listinfo/rules-users">https://lists.jboss.org/mailman/listinfo/rules-users</a>
</pre>
        </blockquote>
        <pre wrap=""><fieldset class="mimeAttachmentHeader"></fieldset>
_______________________________________________
rules-users mailing list
<a moz-do-not-send="true" class="moz-txt-link-abbreviated" href="mailto:rules-users@lists.jboss.org">rules-users@lists.jboss.org</a>
<a moz-do-not-send="true" class="moz-txt-link-freetext" href="https://lists.jboss.org/mailman/listinfo/rules-users">https://lists.jboss.org/mailman/listinfo/rules-users</a>
</pre>
      </blockquote>
      <pre wrap="">
<fieldset class="mimeAttachmentHeader"></fieldset>
_______________________________________________
rules-users mailing list
<a class="moz-txt-link-abbreviated" href="mailto:rules-users@lists.jboss.org">rules-users@lists.jboss.org</a>
<a class="moz-txt-link-freetext" href="https://lists.jboss.org/mailman/listinfo/rules-users">https://lists.jboss.org/mailman/listinfo/rules-users</a>
</pre>
    </blockquote>
  </body>
</html>