<html><head></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><div>Not sure if this is a Seam or Drools issue, but....</div><div>Under Seam 2.2.0.GA, JBoss 5.1.0.GA, and Drools 5.0.1.GA and Guvnor, changes to rules within Guvnor followed by a rule build within Guvnor doesn't seem to be reflected back to Seam or the associated cache directory.</div><div><br></div><div>Under Seam, I've defined one rule agent as:</div><div><br></div><div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; color: rgb(38, 148, 146); "><span style="color: #000000"><span class="Apple-tab-span" style="white-space:pre">        </span></span><span style="color: #009694">&lt;</span>drools:rule-agent<span style="color: #000000"> </span><span style="color: #a50095">name</span><span style="color: #000000">=</span><span style="color: #4e00ff">"securityRules"</span></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; color: rgb(78, 0, 255); "><span style="color: #000000"><span class="Apple-tab-span" style="white-space:pre">                </span></span><span style="color: #a50095">url</span><span style="color: #000000">=</span>"<a href="http://localhost:8080/drools-guvnor/org.drools.guvnor.Guvnor/package/cdmsSecurity/LATEST">http://localhost:8080/drools-guvnor/org.drools.guvnor.Guvnor/package/cdmsSecurity/LATEST</a>"</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; color: rgb(78, 0, 255); "><span style="color: #000000"><span class="Apple-tab-span" style="white-space:pre">                </span></span><span style="color: #a50095">local-cache-dir</span><span style="color: #000000">=</span>"/usr/local/jboss/server/default/data/guvnor/cache/"<span style="color: #000000"> </span><span style="color: #a50095">poll</span><span style="color: #000000">=</span>"30"<span style="color: #009694">/&gt;</span><span style="color: #000000">&nbsp;</span></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; color: rgb(38, 148, 146); "><span style="color: #000000"><span class="Apple-tab-span" style="white-space:pre">        </span></span><span style="color: #009694">&lt;</span>drools:managed-working-memory</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; color: rgb(78, 0, 255); "><span style="color: #000000"><span class="Apple-tab-span" style="white-space:pre">                </span></span><span style="color: #a50095">name</span><span style="color: #000000">=</span>"securityWorkingMemory"<span style="color: #000000"> </span><span style="color: #a50095">auto-create</span><span style="color: #000000">=</span>"true"</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; color: rgb(78, 0, 255); "><span style="color: #000000"><span class="Apple-tab-span" style="white-space:pre">                </span></span><span style="color: #a50095">rule-base</span><span style="color: #000000">=</span>"#{securityRules}"<span style="color: #000000"> </span><span style="color: #009694">/&gt;</span></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; color: rgb(78, 0, 255); "><font class="Apple-style-span" color="#009694"><br></font></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; color: rgb(78, 0, 255); "><font class="Apple-style-span" color="#009694">Clearing the cache and starting up JBoss, everything works fine. &nbsp;If I make a rule change in Guvnor, and rebuild the rules, I'll typically get:</font></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; color: rgb(78, 0, 255); "><font class="Apple-style-span" color="#009694"><br></font></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; color: rgb(78, 0, 255); "><font class="Apple-style-span" color="#009694"><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; ">08:34:24,343 ERROR [STDERR] RuleAgent(default) INFO (Thu Oct 22 08:34:24 MDT 2009): Applying changes to the rulebase.</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; ">08:34:24,343 ERROR [STDERR] RuleAgent(default) EXCEPTION (Thu Oct 22 08:34:24 MDT 2009): null. Stack trace should follow.</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; ">08:34:24,343 ERROR [STDERR] java.lang.NullPointerException</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; ">08:34:24,343 ERROR [STDERR] <span class="Apple-tab-span" style="white-space:pre">        </span>at org.drools.reteoo.ReteooBuilder.removeRule(ReteooBuilder.java:235)</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; ">08:34:24,344 ERROR [STDERR] <span class="Apple-tab-span" style="white-space:pre">        </span>at org.drools.reteoo.ReteooRuleBase.removeRule(ReteooRuleBase.java:366)</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; ">08:34:24,344 ERROR [STDERR] <span class="Apple-tab-span" style="white-space:pre">        </span>at org.drools.common.AbstractRuleBase.removeRule(AbstractRuleBase.java:712)</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; ">08:34:24,344 ERROR [STDERR] <span class="Apple-tab-span" style="white-space:pre">        </span>at org.drools.common.AbstractRuleBase.removePackage(AbstractRuleBase.java:640)</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; ">08:34:24,344 ERROR [STDERR] <span class="Apple-tab-span" style="white-space:pre">        </span>at org.drools.agent.PackageProvider.removePackage(PackageProvider.java:44)</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; ">08:34:24,344 ERROR [STDERR] <span class="Apple-tab-span" style="white-space:pre">        </span>at org.drools.agent.PackageProvider.applyChanges(PackageProvider.java:80)</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; ">08:34:24,344 ERROR [STDERR] <span class="Apple-tab-span" style="white-space:pre">        </span>at org.drools.agent.RuleAgent.refreshRuleBase(RuleAgent.java:397)</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; ">08:34:24,344 ERROR [STDERR] <span class="Apple-tab-span" style="white-space:pre">        </span>at org.drools.agent.RuleAgent$2.run(RuleAgent.java:516)</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; ">08:34:24,344 ERROR [STDERR] <span class="Apple-tab-span" style="white-space:pre">        </span>at java.util.TimerThread.mainLoop(Timer.java:512)</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; ">08:34:24,344 ERROR [STDERR] <span class="Apple-tab-span" style="white-space:pre">        </span>at java.util.TimerThread.run(Timer.java:462)</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; "><br></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; ">The application will hang indefinitely when calling fireAllRules().</div><div><font class="Apple-style-span" color="#4E00FF"><br></font></div><div><font class="Apple-style-span" color="#4E00FF">Restarting the server fixes the problem. &nbsp; If I never rebuild the rules, or restart the server after rebuilding the rules, this problem never surfaces.</font></div><div><font class="Apple-style-span" color="#4E00FF">Changing the poll value doesn't appear to alter anything.</font></div><div><font class="Apple-style-span" color="#4E00FF"><br></font></div><div><font class="Apple-style-span" color="#4E00FF"><br></font></div></font></div><div><font class="Apple-style-span" color="#009694" face="Monaco" size="3"><span class="Apple-style-span" style="font-size: 11px; "><br></span></font></div></div><div>
<span class="Apple-style-span" style="font-size: 12px; "><div>The human mind is an iterative processor, it never does anything right the first time. &nbsp;What it does well is to make improvements on every iteration (deMarco)</div><div><br></div></span><br class="Apple-interchange-newline">
</div>
<br></body></html>