Hello, I&#39;m attempting to use the Drools 5.1.1 Guvnor with the &quot;mortgage-example&quot; available in the drools downloads. It looks like I get some, but not all of the rules, to run. I suspect it has something to do with how I insert the rules, as I can debug and poke around and see the rules present in the KnowledgeBase object when I debug.<div>
<br></div><div>The examples distro on the drools homepage is labeled 5.1.1, however if you go to the directory &quot;drools-examples-brms\mortgage-example\mortgage-client\lib&quot; you&#39;ll see the 5.0.1 Drools JARs . Therefore using the examples in a pristine fashion, without modification, was not an option. </div>
<div><br></div><div>I&#39;ve instead written the class below, and used the XML configuration file below. In guvnor I&#39;ve turned the authentication off (not that it makes a difference when you are requesting a PKG file), imported &quot;mortgage-sample-repository.xml&quot;, and rebuilt the packages.</div>
<div><br></div><div>However, when I run the source code below, it looks as if only one rule runs, and the state of any of the objects below (i.e. approved or unapproved mortgage app) fails to change.</div><div><br></div><div>
Any ideas what I&#39;m doing wrong?<br><div><br></div><div><b>MyMortgageApplication.java:</b></div><div><div><font class="Apple-style-span" face="&#39;courier new&#39;, monospace"><br></font></div><div><font class="Apple-style-span" face="&#39;courier new&#39;, monospace">public class MyMortgageApplication {</font></div>
<div><font class="Apple-style-span" face="&#39;courier new&#39;, monospace"><br></font></div><div><font class="Apple-style-span" face="&#39;courier new&#39;, monospace"><span class="Apple-tab-span" style="white-space:pre">        </span>public static void main(String[] args) throws Throwable {</font></div>
<div><font class="Apple-style-span" face="&#39;courier new&#39;, monospace"><span class="Apple-tab-span" style="white-space:pre">                </span>KnowledgeBase knowledgeBase = createKnowledgeBase();</font></div><div><font class="Apple-style-span" face="&#39;courier new&#39;, monospace"><span class="Apple-tab-span" style="white-space:pre">                </span>StatefulKnowledgeSession session = knowledgeBase.newStatefulKnowledgeSession();</font></div>
<div><span class="Apple-tab-span" style="white-space:pre"><font class="Apple-style-span" face="&#39;courier new&#39;, monospace">                </font></span></div><div><font class="Apple-style-span" face="&#39;courier new&#39;, monospace"><span class="Apple-tab-span" style="white-space:pre">                </span>FactType appType = knowledgeBase.getFactType(&quot;mortgages&quot;,&quot;LoanApplication&quot;);</font></div>
<div><font class="Apple-style-span" face="&#39;courier new&#39;, monospace"><span class="Apple-tab-span" style="white-space:pre">                </span>FactType incomeType = knowledgeBase.getFactType(&quot;mortgages&quot;,&quot;IncomeSource&quot;);<span class="Apple-tab-span" style="white-space:pre">                </span></font></div>
<div><span class="Apple-tab-span" style="white-space:pre"><font class="Apple-style-span" face="&#39;courier new&#39;, monospace">                </font></span></div><div><font class="Apple-style-span" face="&#39;courier new&#39;, monospace"><span class="Apple-tab-span" style="white-space:pre">                </span>session.addEventListener(new DebugAgendaEventListener());</font></div>
<div><font class="Apple-style-span" face="&#39;courier new&#39;, monospace"><span class="Apple-tab-span" style="white-space:pre">                </span>session.addEventListener(new DebugWorkingMemoryEventListener());<span class="Apple-tab-span" style="white-space:pre">                </span></font></div>
<div><span class="Apple-tab-span" style="white-space:pre"><font class="Apple-style-span" face="&#39;courier new&#39;, monospace">                </font></span></div><div><font class="Apple-style-span" face="&#39;courier new&#39;, monospace"><span class="Apple-tab-span" style="white-space:pre">                </span>Object application = appType.newInstance();</font></div>
<div><font class="Apple-style-span" face="&#39;courier new&#39;, monospace"><span class="Apple-tab-span" style="white-space:pre">                </span>Object income = incomeType.newInstance();</font></div><div><font class="Apple-style-span" face="&#39;courier new&#39;, monospace"><br>
</font></div><div><font class="Apple-style-span" face="&#39;courier new&#39;, monospace"><span class="Apple-tab-span" style="white-space:pre">                </span>appType.set(application, &quot;amount&quot;, 25000);</font></div><div>
<font class="Apple-style-span" face="&#39;courier new&#39;, monospace"><span class="Apple-tab-span" style="white-space:pre">                </span>appType.set(application, &quot;deposit&quot;, 1500);</font></div><div><font class="Apple-style-span" face="&#39;courier new&#39;, monospace"><span class="Apple-tab-span" style="white-space:pre">                </span>appType.set(application, &quot;lengthYears&quot;, 20);</font></div>
<div><font class="Apple-style-span" face="&#39;courier new&#39;, monospace"><br></font></div><div><font class="Apple-style-span" face="&#39;courier new&#39;, monospace"><span class="Apple-tab-span" style="white-space:pre">                </span>incomeType.set(income, &quot;type&quot;, &quot;Job&quot;);</font></div>
<div><font class="Apple-style-span" face="&#39;courier new&#39;, monospace"><span class="Apple-tab-span" style="white-space:pre">                </span>incomeType.set(income, &quot;amount&quot;, 65000);</font></div><div><font class="Apple-style-span" face="&#39;courier new&#39;, monospace"><br>
</font></div><div><font class="Apple-style-span" face="&#39;courier new&#39;, monospace"><span class="Apple-tab-span" style="white-space:pre">                </span>appType.set(application, &quot;amount&quot;, 25000);</font></div><div>
<font class="Apple-style-span" face="&#39;courier new&#39;, monospace"><span class="Apple-tab-span" style="white-space:pre">                </span>appType.set(application, &quot;deposit&quot;, 1);</font></div><div><font class="Apple-style-span" face="&#39;courier new&#39;, monospace"><span class="Apple-tab-span" style="white-space:pre">                </span>appType.set(application, &quot;lengthYears&quot;, 1);</font></div>
<div><font class="Apple-style-span" face="&#39;courier new&#39;, monospace"><br></font></div><div><font class="Apple-style-span" face="&#39;courier new&#39;, monospace"><span class="Apple-tab-span" style="white-space:pre">                </span>incomeType.set(income, &quot;type&quot;, &quot;Job&quot;);</font></div>
<div><font class="Apple-style-span" face="&#39;courier new&#39;, monospace"><span class="Apple-tab-span" style="white-space:pre">                </span>incomeType.set(income, &quot;amount&quot;, 6);</font></div><div><span class="Apple-tab-span" style="white-space:pre"><font class="Apple-style-span" face="&#39;courier new&#39;, monospace">                                </font></span></div>
<div><font class="Apple-style-span" face="&#39;courier new&#39;, monospace"><span class="Apple-tab-span" style="white-space:pre">                </span>System.out.println(&quot;FactCount: &quot; + session.getFactCount());</font></div><div>
<font class="Apple-style-span" face="&#39;courier new&#39;, monospace"><span class="Apple-tab-span" style="white-space:pre">                </span>session.insert(appType);</font></div><div><font class="Apple-style-span" face="&#39;courier new&#39;, monospace"><span class="Apple-tab-span" style="white-space:pre">                </span>session.insert(incomeType);</font></div>
<div><span class="Apple-tab-span" style="white-space:pre"><font class="Apple-style-span" face="&#39;courier new&#39;, monospace">                </font></span></div><div><font class="Apple-style-span" face="&#39;courier new&#39;, monospace"><span class="Apple-tab-span" style="white-space:pre">                </span>System.out.println(&quot;FireAllRules: &quot; + session.fireAllRules());</font></div>
<div><font class="Apple-style-span" face="&#39;courier new&#39;, monospace"><span class="Apple-tab-span" style="white-space:pre">                </span>System.out.println(&quot;FactCount: &quot; + session.getFactCount());</font></div><div>
<span class="Apple-tab-span" style="white-space:pre"><font class="Apple-style-span" face="&#39;courier new&#39;, monospace">                </font></span></div><div><font class="Apple-style-span" face="&#39;courier new&#39;, monospace"><span class="Apple-tab-span" style="white-space:pre">                </span>session.dispose();</font></div>
<div><font class="Apple-style-span" face="&#39;courier new&#39;, monospace"><span class="Apple-tab-span" style="white-space:pre">                </span>System.exit(0);</font></div><div><font class="Apple-style-span" face="&#39;courier new&#39;, monospace"><span class="Apple-tab-span" style="white-space:pre">        </span>}</font></div>
<div><font class="Apple-style-span" face="&#39;courier new&#39;, monospace"><br></font></div><div><font class="Apple-style-span" face="&#39;courier new&#39;, monospace"><span class="Apple-tab-span" style="white-space:pre">        </span>private static KnowledgeBase createKnowledgeBase() {<span class="Apple-tab-span" style="white-space:pre">                </span></font></div>
<div><font class="Apple-style-span" face="&#39;courier new&#39;, monospace"><span class="Apple-tab-span" style="white-space:pre">                </span>KnowledgeAgentConfiguration kaconf = KnowledgeAgentFactory.newKnowledgeAgentConfiguration();</font></div>
<div><font class="Apple-style-span" face="&#39;courier new&#39;, monospace"><span class="Apple-tab-span" style="white-space:pre">                </span>kaconf.setProperty(&quot;drools.agent.scanDirectories&quot;, &quot;false&quot;);</font></div>
<div><font class="Apple-style-span" face="&#39;courier new&#39;, monospace"><span class="Apple-tab-span" style="white-space:pre">                </span>kaconf.setProperty(&quot;drools.agent.newInstance&quot;, &quot;true&quot;);</font></div>
<div><font class="Apple-style-span" face="&#39;courier new&#39;, monospace"><span class="Apple-tab-span" style="white-space:pre">                </span>KnowledgeAgent kagent = KnowledgeAgentFactory.newKnowledgeAgent(&quot;MortgageAgent&quot;, kaconf);</font></div>
<div><font class="Apple-style-span" face="&#39;courier new&#39;, monospace"><span class="Apple-tab-span" style="white-space:pre">                </span>kagent.applyChangeSet(ResourceFactory.newClassPathResource(&quot;my-guvnor.xml&quot;));</font></div>
<div><font class="Apple-style-span" face="&#39;courier new&#39;, monospace"><span class="Apple-tab-span" style="white-space:pre">                </span>return kagent.getKnowledgeBase();</font></div><div><font class="Apple-style-span" face="&#39;courier new&#39;, monospace"><span class="Apple-tab-span" style="white-space:pre">        </span>}</font></div>
<div><font class="Apple-style-span" face="&#39;courier new&#39;, monospace"><br></font></div><div><font class="Apple-style-span" face="&#39;courier new&#39;, monospace">}</font></div><div><br></div><div><br></div><div><b>my-guvnor.xml:</b></div>
</div><div><br></div><div><div><font class="Apple-style-span" face="&#39;courier new&#39;, monospace">&lt;change-set xmlns=&quot;<a href="http://drools.org/drools-5.0/change-set">http://drools.org/drools-5.0/change-set</a>&quot;</font></div>
<div><font class="Apple-style-span" face="&#39;courier new&#39;, monospace"><span class="Apple-tab-span" style="white-space:pre">        </span>xmlns:xs=&quot;<a href="http://www.w3.org/2001/XMLSchema-instance">http://www.w3.org/2001/XMLSchema-instance</a>&quot;</font></div>
<div><font class="Apple-style-span" face="&#39;courier new&#39;, monospace"><span class="Apple-tab-span" style="white-space:pre">        </span>xs:schemaLocation=&quot;<a href="http://drools.org/drools-5.0/change-set">http://drools.org/drools-5.0/change-set</a> drools-change-set-5.0.xsd&quot;&gt;</font></div>
<div><font class="Apple-style-span" face="&#39;courier new&#39;, monospace"><br></font></div><div><font class="Apple-style-span" face="&#39;courier new&#39;, monospace"><span class="Apple-tab-span" style="white-space:pre">        </span>&lt;add&gt;</font></div>
<div><font class="Apple-style-span" face="&#39;courier new&#39;, monospace"><span class="Apple-tab-span" style="white-space:pre">                </span>&lt;resource</font></div><div><font class="Apple-style-span" face="&#39;courier new&#39;, monospace"><span class="Apple-tab-span" style="white-space:pre">                        </span>source=&quot;<a href="http://localhost/drools-guvnor/org.drools.guvnor.Guvnor/package/mortgages/LATEST">http://localhost/drools-guvnor/org.drools.guvnor.Guvnor/package/mortgages/LATEST</a>&quot;</font></div>
<div><font class="Apple-style-span" face="&#39;courier new&#39;, monospace"><span class="Apple-tab-span" style="white-space:pre">                        </span>basicAuthentication=&quot;enabled&quot; username=&quot;admin&quot; password=&quot;admin&quot; type=&quot;PKG&quot; /&gt;</font></div>
<div><font class="Apple-style-span" face="&#39;courier new&#39;, monospace"><span class="Apple-tab-span" style="white-space:pre">        </span>&lt;/add&gt; </font></div><div><font class="Apple-style-span" face="&#39;courier new&#39;, monospace"><br>
</font></div><div><font class="Apple-style-span" face="&#39;courier new&#39;, monospace">&lt;/change-set&gt;</font></div></div></div>