<br clear="all"><p class="MsoNormal" style="margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;mso-pagination:none;mso-layout-grid-align:none;text-autospace:none"><span style="font-size: 10pt; "><font class="Apple-style-span" face="'courier new', monospace">Hi ,</font></span></p>
<p class="MsoNormal" style="margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;mso-pagination:none;mso-layout-grid-align:none;text-autospace:none"><span style="font-size: 10pt; "><font class="Apple-style-span" face="'courier new', monospace"><span style="mso-spacerun:yes"> </span>Recently i was working on a drools project
where i came across certain issues and i need some help.</font></span></p>
<p class="MsoNormal" style="margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;mso-pagination:none;mso-layout-grid-align:none;text-autospace:none"><span style="font-size: 10pt; "><font class="Apple-style-span" face="'courier new', monospace">In my project i
access jar at runtime by making use of the URLClassLoader.Here is the code :</font><font class="Apple-style-span" face="Arial, sans-serif"></font></span></p>
<p class="MsoNormal" style="margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;mso-pagination:none;mso-layout-grid-align:none;text-autospace:none"><span style="font-size:10.0pt;font-family:"Courier New";color:black"><span style="mso-spacerun:yes"> </span></span></p>
<p class="MsoNormal" style="margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;mso-pagination:none;mso-layout-grid-align:none;text-autospace:none"><span style="font-size:10.0pt;font-family:"Courier New";color:black"><span style="mso-spacerun:yes"> </span>Object object=</span><b><span style="font-size:10.0pt;font-family:"Courier New";color:#7F0055">null</span></b><span style="font-size:10.0pt;font-family:"Courier New";color:black">;</span><span style="font-size:10.0pt;font-family:"Courier New""></span></p>
<p class="MsoNormal" style="margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;mso-pagination:none;mso-layout-grid-align:none;text-autospace:none"><span style="font-size:10.0pt;font-family:"Courier New";color:black"><span style="mso-spacerun:yes"> </span>Class myclass=</span><b><span style="font-size:10.0pt;font-family:"Courier New";color:#7F0055">null</span></b><span style="font-size:10.0pt;font-family:"Courier New";color:black">;</span><span style="font-size:10.0pt;font-family:"Courier New""></span></p>
<p class="MsoNormal" style="margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;mso-pagination:none;mso-layout-grid-align:none;text-autospace:none"><span style="font-size:10.0pt;font-family:"Courier New";color:black"><span style="mso-spacerun:yes"> </span>URL jarPath=</span><b><span style="font-size:
10.0pt;font-family:"Courier New";color:#7F0055">null</span></b><span style="font-size:10.0pt;font-family:"Courier New";color:black">;</span><span style="font-size:10.0pt;font-family:"Courier New""></span></p>
<p class="MsoNormal" style="margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;mso-pagination:none;mso-layout-grid-align:none;text-autospace:none"><span style="font-size:10.0pt;font-family:"Courier New";color:black"><span style="mso-spacerun:yes"> </span></span><b><span style="font-size:10.0pt;
font-family:"Courier New";color:#7F0055">try</span></b><span style="font-size:
10.0pt;font-family:"Courier New";color:black">{</span><span style="font-size:
10.0pt;font-family:"Arial","sans-serif""></span></p>
<p class="MsoNormal" style="margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;mso-pagination:none;mso-layout-grid-align:none;text-autospace:none"><span style="font-size:10.0pt;font-family:"Courier New";color:black;background:yellow;
mso-highlight:yellow"><span style="mso-tab-count:1"> </span>jarPath</span><span style="font-size:10.0pt;font-family:"Courier New";color:black">=</span><b><span style="font-size:10.0pt;font-family:"Courier New";color:#7F0055">new</span></b><span style="font-size:10.0pt;font-family:"Courier New";color:black"> File(</span><span style="font-size:10.0pt;font-family:"Courier New";color:#2A00FF">"lib/Billing.jar"</span><span style="font-size:10.0pt;font-family:"Courier New";color:black">).toURI().toURL();</span><span style="font-size:10.0pt;font-family:"Courier New""></span></p>
<p class="MsoNormal" style="margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;mso-pagination:none;mso-layout-grid-align:none;text-autospace:none"><span style="font-size:10.0pt;font-family:"Courier New";color:black"><span style="mso-tab-count:1"> </span>URLClassLoader loader = </span><b><span style="font-size:10.0pt;font-family:"Courier New";color:#7F0055">new</span></b><span style="font-size:10.0pt;font-family:"Courier New";color:black"> URLClassLoader(</span><b><span style="font-size:10.0pt;font-family:"Courier New";color:#7F0055">new</span></b><span style="font-size:10.0pt;font-family:"Courier New";color:black"> URL[] { <span style="background:silver;mso-highlight:silver">jarPath</span> },</span><b><span style="font-size:10.0pt;font-family:"Courier New";color:#7F0055">ClassLoader.</span></b><span style="font-size:10.0pt;font-family:"Courier New";color:black">getClassLoader());</span><span style="font-size:10.0pt;font-family:"Courier New""></span></p>
<p class="MsoNormal" style="margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;mso-pagination:none;mso-layout-grid-align:none;text-autospace:none"><span style="font-size:10.0pt;font-family:"Courier New";color:black"><span style="mso-tab-count:1"> </span>myclass = loader.loadClass(</span><span style="font-size:10.0pt;font-family:"Courier New";color:#2A00FF">"dynamicclasses.Billing"</span><span style="font-size:10.0pt;font-family:"Courier New";color:black">);</span><span style="font-size:10.0pt;font-family:"Courier New""></span></p>
<p class="MsoNormal" style="margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;mso-pagination:none;mso-layout-grid-align:none;text-autospace:none"><span style="font-size:10.0pt;font-family:"Courier New";color:black"><span style="mso-tab-count:1"> </span>object = myclass.newInstance();</span></p>
<p class="MsoNormal" style="margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;mso-pagination:none;mso-layout-grid-align:none;text-autospace:none"><span style="font-size:10.0pt;font-family:"Courier New";color:black">}</span></p>
<p class="MsoNormal" style="margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;mso-pagination:none;mso-layout-grid-align:none;text-autospace:none"><b><span style="font-size:10.0pt;font-family:"Courier New";color:#7F0055">catch</span></b><span style="font-size:10.0pt;font-family:"Courier New";color:black"> (Exception e)
{e.printStackTrace}</span><span style="font-size:10.0pt;font-family:"Courier New""></span></p>
<p class="MsoNormal" style="margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;mso-pagination:none;mso-layout-grid-align:none;text-autospace:none"><span style="font-size:10.0pt;font-family:"Courier New";color:black"><span style="mso-tab-count:1"> </span></span></p>
<p class="MsoNormal" style="margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;mso-pagination:none;mso-layout-grid-align:none;text-autospace:none"><span style="font-size:10.0pt;font-family:"Courier New";color:black">After getting
the class instance I will set the values and pass the object to my drools class</span></p>
<p class="MsoNormal" style="margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;mso-pagination:none;mso-layout-grid-align:none;text-autospace:none"><span style="font-size:10.0pt;font-family:"Courier New";color:black"> </span></p>
<p class="MsoNormal" style="margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal"><span style="font-size:10.0pt;font-family:"Courier New"">new
DroolsClass().fireRules(object);</span></p>
<p class="MsoNormal" style="margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal"><span style="font-size:10.0pt;font-family:"Courier New""> </span></p>
<p class="MsoNormal" style="margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal"><span style="font-size:10.0pt;font-family:"Courier New"">The drools
class contain the following code :</span></p>
<p class="MsoNormal" style="margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal"><span style="font-size:10.0pt;font-family:"Courier New""> </span></p>
<p class="MsoNormal" style="margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal"><span style="font-size:10.0pt;font-family:"Courier New"">public class
DroolsClass {</span></p>
<p class="MsoNormal" style="margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal"><span style="font-size:10.0pt;font-family:"Courier New""> </span></p>
<p class="MsoNormal" style="margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;mso-pagination:none;mso-layout-grid-align:none;text-autospace:none"><b><span style="font-size:10.0pt;font-family:"Courier New";color:#7F0055">public</span></b><span style="font-size:10.0pt;font-family:"Courier New";color:black"> </span><b><span style="font-size:10.0pt;font-family:"Courier New";color:#7F0055">void</span></b><span style="font-size:10.0pt;font-family:"Courier New";color:black">
fireRules(Object <span style="background:yellow;mso-highlight:yellow">object</span>){<span style="mso-tab-count:1"> </span></span><span style="font-size:10.0pt;
font-family:"Courier New""></span></p>
<p class="MsoNormal" style="margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;mso-pagination:none;mso-layout-grid-align:none;text-autospace:none"><span style="font-size:10.0pt;font-family:"Courier New";color:black"><span style="mso-tab-count:2"> </span></span><b><span style="font-size:
10.0pt;font-family:"Courier New";color:#7F0055">try</span></b><span style="font-size:10.0pt;font-family:"Courier New";color:black"> {</span><span style="font-size:10.0pt;font-family:"Courier New""></span></p>
<p class="MsoNormal" style="margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;mso-pagination:none;mso-layout-grid-align:none;text-autospace:none"><span style="font-size:10.0pt;font-family:"Courier New";color:black"><span style="mso-tab-count:3"> </span>KnowledgeBase kbase = <i>readKnowledgeBase</i>();</span><span style="font-size:10.0pt;font-family:"Courier New""></span></p>
<p class="MsoNormal" style="margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;mso-pagination:none;mso-layout-grid-align:none;text-autospace:none"><span style="font-size:10.0pt;font-family:"Courier New";color:black"><span style="mso-tab-count:3"> </span>StatefulKnowledgeSession
ksession = kbase.newStatefulKnowledgeSession();</span><span style="font-size:
10.0pt;font-family:"Courier New""></span></p>
<p class="MsoNormal" style="margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;mso-pagination:none;mso-layout-grid-align:none;text-autospace:none"><span style="font-size:10.0pt;font-family:"Courier New";color:black"><span style="mso-tab-count:3"> </span>KnowledgeRuntimeLogger logger
= KnowledgeRuntimeLoggerFactory.<i>newFileLogger</i>(ksession, </span><span style="font-size:10.0pt;font-family:"Courier New";color:#2A00FF">"test"</span><span style="font-size:10.0pt;font-family:"Courier New";color:black">);</span><span style="font-size:10.0pt;font-family:"Courier New""></span></p>
<p class="MsoNormal" style="margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;mso-pagination:none;mso-layout-grid-align:none;text-autospace:none"><span style="font-size:10.0pt;font-family:"Courier New";color:black"><span style="mso-tab-count:3"> </span>ksession.insert(<span style="background:silver;mso-highlight:silver">object</span>);</span><span style="font-size:10.0pt;font-family:"Courier New""></span></p>
<p class="MsoNormal" style="margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;mso-pagination:none;mso-layout-grid-align:none;text-autospace:none"><span style="font-size:10.0pt;font-family:"Courier New";color:black"><span style="mso-tab-count:3"> </span>ksession.fireAllRules();<span style="mso-tab-count:5"> </span></span><span style="font-size:10.0pt;font-family:"Courier New""></span></p>
<p class="MsoNormal" style="margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;mso-pagination:none;mso-layout-grid-align:none;text-autospace:none"><span style="font-size:10.0pt;font-family:"Courier New";color:black"><span style="mso-tab-count:3"> </span>logger.close();</span><span style="font-size:10.0pt;font-family:"Courier New""></span></p>
<p class="MsoNormal" style="margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;mso-pagination:none;mso-layout-grid-align:none;text-autospace:none"><span style="font-size:10.0pt;font-family:"Courier New";color:black"><span style="mso-tab-count:3"> </span></span><span style="font-size:
10.0pt;font-family:"Courier New""></span></p>
<p class="MsoNormal" style="margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;mso-pagination:none;mso-layout-grid-align:none;text-autospace:none"><span style="font-size:10.0pt;font-family:"Courier New";color:black"><span style="mso-tab-count:1"> </span><span style="mso-tab-count:1"> </span>}
</span><b><span style="font-size:10.0pt;font-family:"Courier New";color:#7F0055">catch</span></b><span style="font-size:10.0pt;font-family:"Courier New";color:black"> (Throwable t) {</span><span style="font-size:10.0pt;font-family:"Courier New""></span></p>
<p class="MsoNormal" style="margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;mso-pagination:none;mso-layout-grid-align:none;text-autospace:none"><span style="font-size:10.0pt;font-family:"Courier New";color:black"><span style="mso-tab-count:3"> </span>t.printStackTrace();<span style="mso-tab-count:1"> </span></span></p>
<p class="MsoNormal" style="margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;mso-pagination:none;mso-layout-grid-align:none;text-autospace:none"><span style="font-size:10.0pt;font-family:"Courier New";color:black"><span style="mso-tab-count:2"> </span>}</span></p>
<p class="MsoNormal" style="margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;mso-pagination:none;mso-layout-grid-align:none;text-autospace:none"><span style="font-size:10.0pt;font-family:"Courier New";color:black"> </span></p>
<p class="MsoNormal" style="margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;mso-pagination:none;mso-layout-grid-align:none;text-autospace:none"><span style="font-size:10.0pt;font-family:"Courier New";color:black">}</span></p>
<p class="MsoNormal" style="margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;mso-pagination:none;mso-layout-grid-align:none;text-autospace:none"><b><span style="font-size:10.0pt;font-family:"Courier New";color:#7F0055">private</span></b><span style="font-size:10.0pt;font-family:"Courier New";color:black"> </span><b><span style="font-size:10.0pt;font-family:"Courier New";color:#7F0055">static</span></b><span style="font-size:10.0pt;font-family:"Courier New";color:black"> KnowledgeBase
readKnowledgeBase() </span><b><span style="font-size:10.0pt;font-family:"Courier New";
color:#7F0055">throws</span></b><span style="font-size:10.0pt;font-family:"Courier New";
color:black"> Exception {</span><span style="font-size:10.0pt;font-family:"Courier New""></span></p>
<p class="MsoNormal" style="margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;mso-pagination:none;mso-layout-grid-align:none;text-autospace:none"><span style="font-size:10.0pt;font-family:"Courier New";color:black"><span style="mso-tab-count:2"> </span></span><span style="font-size:10.0pt;
font-family:"Courier New""></span></p>
<p class="MsoNormal" style="margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;mso-pagination:none;mso-layout-grid-align:none;text-autospace:none"><span style="font-size:10.0pt;font-family:"Courier New";color:black"><span style="mso-tab-count:2"> </span>KnowledgeBuilder kbuilder =
KnowledgeBuilderFactory.<i>newKnowledgeBuilder</i>();</span><span style="font-size:10.0pt;font-family:"Courier New""></span></p>
<p class="MsoNormal" style="margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;mso-pagination:none;mso-layout-grid-align:none;text-autospace:none"><span style="font-size:10.0pt;font-family:"Courier New";color:black"><span style="mso-tab-count:2"> </span>kbuilder.add(ResourceFactory.<i>newFileResource</i>(</span><span style="font-size:10.0pt;font-family:"Courier New";color:#2A00FF">"./rulefiles/testing.drl"</span><span style="font-size:10.0pt;font-family:"Courier New";color:black">), ResourceType.</span><i><span style="font-size:10.0pt;font-family:"Courier New";color:#0000C0">DRL</span></i><span style="font-size:10.0pt;font-family:"Courier New";color:black">);</span></p>
<p class="MsoNormal" style="margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;mso-pagination:none;mso-layout-grid-align:none;text-autospace:none"><span style="font-size:10.0pt;font-family:"Courier New";color:black"><span style="mso-spacerun:yes"> </span>KnowledgeBuilderErrors errors =
kbuilder.getErrors();</span><span style="font-size:10.0pt;font-family:"Courier New""></span></p>
<p class="MsoNormal" style="margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;mso-pagination:none;mso-layout-grid-align:none;text-autospace:none"><span style="font-size:10.0pt;font-family:"Courier New";color:black"><span style="mso-tab-count:2"> </span>// </span><b><span style="font-size:
10.0pt;font-family:"Courier New";color:#7F0055">------ some code</span></b><span style="font-size:10.0pt;font-family:"Courier New""></span></p>
<p class="MsoNormal" style="margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;mso-pagination:none;mso-layout-grid-align:none;text-autospace:none"><span style="font-size:10.0pt;font-family:"Courier New";color:black"><span style="mso-tab-count:2"> </span>KnowledgeBase kbase =
KnowledgeBaseFactory.<i>newKnowledgeBase</i>();</span><span style="font-size:
10.0pt;font-family:"Courier New""></span></p>
<p class="MsoNormal" style="margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;mso-pagination:none;mso-layout-grid-align:none;text-autospace:none"><span style="font-size:10.0pt;font-family:"Courier New";color:black"><span style="mso-tab-count:2"> </span>kbase.addKnowledgePackages(kbuilder.getKnowledgePackages());</span><span style="font-size:10.0pt;font-family:"Courier New""></span></p>
<p class="MsoNormal" style="margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;mso-pagination:none;mso-layout-grid-align:none;text-autospace:none"><span style="font-size:10.0pt;font-family:"Courier New";color:black"><span style="mso-tab-count:2"> </span></span><b><span style="font-size:
10.0pt;font-family:"Courier New";color:#7F0055">return</span></b><span style="font-size:10.0pt;font-family:"Courier New";color:black"> kbase;</span></p>
<p class="MsoNormal" style="margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;mso-pagination:none;mso-layout-grid-align:none;text-autospace:none"><span style="font-size:10.0pt;font-family:"Courier New";color:black">}</span></p>
<p class="MsoNormal" style="margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;mso-pagination:none;mso-layout-grid-align:none;text-autospace:none"><span style="font-size:10.0pt;font-family:"Courier New";color:black"> </span></p>
<p class="MsoNormal" style="margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;mso-pagination:none;mso-layout-grid-align:none;text-autospace:none"><span style="font-size:10.0pt;font-family:"Courier New";color:black"> </span></p>
<p class="MsoNormal" style="margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;mso-pagination:none;mso-layout-grid-align:none;text-autospace:none"><span style="font-size:10.0pt;font-family:"Courier New";color:black">Next I have a
drl file testing.drl which is present in the file directoty and which accesses
the same class </span><span style="font-size:10.0pt;font-family:"Courier New";
color:#2A00FF">dynamicclasses.Billing which is present in Billing.jar</span></p>
<p class="MsoNormal" style="margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;mso-pagination:none;mso-layout-grid-align:none;text-autospace:none"><span style="font-size:10.0pt;font-family:"Courier New";color:#2A00FF"> </span></p>
<p class="MsoNormal" style="margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;mso-pagination:none;mso-layout-grid-align:none;text-autospace:none"><span style="font-size:10.0pt;font-family:"Courier New";color:#2A00FF">Here is the
drl file content :</span></p>
<p class="MsoNormal" style="margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;mso-pagination:none;mso-layout-grid-align:none;text-autospace:none"><span style="font-size:10.0pt;font-family:"Courier New";color:#2A00FF"> </span></p>
<p class="MsoNormal" style="margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;mso-pagination:none;mso-layout-grid-align:none;text-autospace:none"><b><span style="font-size:10.0pt;font-family:"Courier New";color:#960000">import</span></b><span style="font-size:10.0pt;font-family:"Courier New";color:black">
dynamicclasses.Billing;</span><span style="font-size:10.0pt;font-family:"Courier New""></span></p>
<p class="MsoNormal" style="margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;mso-pagination:none;mso-layout-grid-align:none;text-autospace:none"><span style="font-size:10.0pt;font-family:"Courier New""> </span></p>
<p class="MsoNormal" style="margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;mso-pagination:none;mso-layout-grid-align:none;text-autospace:none"><b><span style="font-size:10.0pt;font-family:"Courier New";color:#960000">rule</span></b><span style="font-size:10.0pt;font-family:"Courier New";color:black"> </span><span style="font-size:10.0pt;font-family:"Courier New";color:green">"rule
3"</span><span style="font-size:10.0pt;font-family:"Courier New""></span></p>
<p class="MsoNormal" style="margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;mso-pagination:none;mso-layout-grid-align:none;text-autospace:none"><span style="font-size:10.0pt;font-family:"Courier New""> </span></p>
<p class="MsoNormal" style="margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;mso-pagination:none;mso-layout-grid-align:none;text-autospace:none"><b><span style="font-size:10.0pt;font-family:"Courier New";color:#960000">salience</span></b><span style="font-size:10.0pt;font-family:"Courier New";color:black"> 10 </span><span style="font-size:10.0pt;font-family:"Courier New""></span></p>
<p class="MsoNormal" style="margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;mso-pagination:none;mso-layout-grid-align:none;text-autospace:none"><b><span style="font-size:10.0pt;font-family:"Courier New";color:#960000">dialect</span></b><span style="font-size:10.0pt;font-family:"Courier New";color:black"> </span><span style="font-size:10.0pt;font-family:"Courier New";color:green">"mvel"</span><span style="font-size:10.0pt;font-family:"Courier New";color:black"> </span><span style="font-size:10.0pt;font-family:"Courier New""></span></p>
<p class="MsoNormal" style="margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;mso-pagination:none;mso-layout-grid-align:none;text-autospace:none"><b><span style="font-size:10.0pt;font-family:"Courier New";color:#960000">no-loop</span></b><span style="font-size:10.0pt;font-family:"Courier New";color:black"> </span><b><span style="font-size:10.0pt;font-family:"Courier New";color:#960000">true</span></b><span style="font-size:10.0pt;font-family:"Courier New""></span></p>
<p class="MsoNormal" style="margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;mso-pagination:none;mso-layout-grid-align:none;text-autospace:none"><b><span style="font-size:10.0pt;font-family:"Courier New";color:#960000">when</span></b><span style="font-size:10.0pt;font-family:"Courier New""></span></p>
<p class="MsoNormal" style="margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;mso-pagination:none;mso-layout-grid-align:none;text-autospace:none"><span style="font-size:10.0pt;font-family:"Courier New";color:black"><span style="mso-spacerun:yes"> </span>m : Billing(bplan==</span><span style="font-size:10.0pt;font-family:"Courier New";color:green">"plan1"</span><span style="font-size:10.0pt;font-family:"Courier New";color:black">)</span><span style="font-size:10.0pt;font-family:"Courier New""></span></p>
<p class="MsoNormal" style="margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;mso-pagination:none;mso-layout-grid-align:none;text-autospace:none"><b><span style="font-size:10.0pt;font-family:"Courier New";color:#960000">then</span></b><span style="font-size:10.0pt;font-family:"Courier New""></span></p>
<p class="MsoNormal" style="margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;mso-pagination:none;mso-layout-grid-align:none;text-autospace:none"><span style="font-size:10.0pt;font-family:"Courier New";color:black"><span style="mso-tab-count:1"> </span>System.out.println(</span><span style="font-size:10.0pt;font-family:"Courier New";color:green">"You have
opted for plan1"</span><span style="font-size:10.0pt;font-family:"Courier New";
color:black">);<span style="mso-spacerun:yes"> </span></span><span style="font-size:10.0pt;font-family:"Courier New""></span></p>
<p class="MsoNormal" style="margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;mso-pagination:none;mso-layout-grid-align:none;text-autospace:none"><b><span style="font-size:10.0pt;font-family:"Courier New";color:#960000">end</span></b></p>
<p class="MsoNormal" style="margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;mso-pagination:none;mso-layout-grid-align:none;text-autospace:none"><b><span style="font-size:10.0pt;font-family:"Courier New";color:#960000"> </span></b></p>
<p class="MsoNormal" style="margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;mso-pagination:none;mso-layout-grid-align:none;text-autospace:none"><span style="font-size:10.0pt;font-family:"Courier New";color:black">The problem I
encounter is when the jar i.e<span style="mso-spacerun:yes">
</span>Billing.jar get updated at runtime the drl file i.e testing.drl</span></p>
<p class="MsoNormal" style="margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;mso-pagination:none;mso-layout-grid-align:none;text-autospace:none"><span style="font-size:10.0pt;font-family:"Courier New";color:black"> </span></p>
<p class="MsoNormal" style="margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;mso-layout-grid-align:none;text-autospace:none"><span style="font-size:
10.0pt;font-family:"Arial","sans-serif"">The following things i am trying to
do.</span></p>
<p class="MsoNormal" style="margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;mso-layout-grid-align:none;text-autospace:none"><span style="font-size:
10.0pt;font-family:"Arial","sans-serif""> </span></p>
<p class="MsoNormal" style="margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;mso-layout-grid-align:none;text-autospace:none"><span style="font-size:
10.0pt;font-family:"Arial","sans-serif"">1) I will create jar at runtime and
update it if required.</span></p>
<p class="MsoNormal" style="margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;mso-layout-grid-align:none;text-autospace:none"><span style="font-size:
10.0pt;font-family:"Arial","sans-serif"">2) I will create a drl file at runtime
which will import the class present in the jar i.e. dynamicclasses.Billing</span></p>
<p class="MsoNormal" style="margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;mso-layout-grid-align:none;text-autospace:none"><span style="font-size:
10.0pt;font-family:"Arial","sans-serif""> </span></p>
<p class="MsoNormal" style="margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;mso-layout-grid-align:none;text-autospace:none"><span style="font-size:
10.0pt;font-family:"Arial","sans-serif"">I am able to access the updated jar
contents in my java class ussing </span><span style="font-size:10.0pt;
font-family:"Courier New";color:black;background:silver;mso-highlight:silver">URLClassLoader</span><span style="font-size:10.0pt;font-family:"Arial","sans-serif""> .But once i pass the
object to my drools class i get the following exception</span></p>
<p class="MsoNormal" style="margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;mso-layout-grid-align:none;text-autospace:none"><span style="font-size:
10.0pt;font-family:"Arial","sans-serif""> </span></p>
<p class="MsoNormal" style="margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;mso-layout-grid-align:none;text-autospace:none"><span style="font-size:
10.0pt;font-family:"Courier New";color:red">Unable to resolve ObjectType
'Billing' : [Rule name='rule 3']</span><span style="font-size:10.0pt;
font-family:"Courier New""></span></p>
<p class="MsoNormal" style="margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;mso-layout-grid-align:none;text-autospace:none"><span style="font-size:
10.0pt;font-family:"Courier New""> </span></p>
<p class="MsoNormal" style="margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;mso-layout-grid-align:none;text-autospace:none"><span style="font-size:
10.0pt;font-family:"Courier New";color:red">Error importing :
'dynamicclasses.Billing'</span><span style="font-size:10.0pt;font-family:"Courier New""></span></p>
<p class="MsoNormal" style="margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;mso-layout-grid-align:none;text-autospace:none"><u><span style="font-size:10.0pt;font-family:"Courier New";color:navy">java.lang.IllegalArgumentException</span></u><span style="font-size:10.0pt;font-family:"Courier New";color:red">: Could not parse
knowledge.</span></p>
<p class="MsoNormal" style="margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;mso-layout-grid-align:none;text-autospace:none"><span style="font-size:
10.0pt;font-family:"Courier New";color:red"> </span></p>
<p class="MsoNormal" style="margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;mso-layout-grid-align:none;text-autospace:none"><span style="font-size:
10.0pt;font-family:"Courier New";color:red"> </span></p>
<p class="MsoNormal" style="margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;mso-layout-grid-align:none;text-autospace:none"><span style="font-size:
10.0pt;font-family:"Arial","sans-serif"">If i restart my application i get no
exception since the jar is already present but the object doesn't seem to pass
to the drl and i get no result.</span></p>
<p class="MsoNormal" style="margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;mso-layout-grid-align:none;text-autospace:none"><span style="font-size:
10.0pt;font-family:"Arial","sans-serif""> </span></p>
<p class="MsoNormal" style="margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal;mso-layout-grid-align:none;text-autospace:none"><span style="font-size:
10.0pt;font-family:"Arial","sans-serif"">I made the following adjustment to the
code :</span></p>
<p class="MsoNormal" style="margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal"><span style="font-size:10.0pt;font-family:"Courier New""> </span></p>
<p class="MsoNormal" style="margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal"><span style="font-size:10.0pt;font-family:"Courier New"">URLClassLoader
loader = new URLClassLoader(new URL[] { jarPath
},this.getClass().getClassLoader());</span></p>
<p class="MsoNormal" style="margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal"><span style="font-size:10.0pt;font-family:"Courier New""> </span></p>
<p class="MsoNormal" style="margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal"><span style="font-size:10.0pt;font-family:"Courier New"">Here I get the
same exception initially. But after I restart my application it works fine and
the rule get fired and I will get the result.</span></p>
<p class="MsoNormal" style="margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal"><span style="font-size:10.0pt;font-family:"Courier New""> </span></p>
<p class="MsoNormal" style="margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal"><span style="font-size:10.0pt;font-family:"Courier New"">But again if I
update the jar it will access only the previous content.</span></p>
<p class="MsoNormal" style="margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal"><span style="font-size:10.0pt;font-family:"Courier New""> </span></p>
<p class="MsoNormal" style="margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal"><span style="font-size:10.0pt;font-family:"Courier New"">So it’s clear
that the DRL file is not able to access the jar initially or even after
updating.</span></p>
<p class="MsoNormal" style="margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal"><span style="font-size:10.0pt;font-family:"Courier New"">Is there any
way so that I can make it work?</span></p>
<p class="MsoNormal" style="margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal"><span style="font-size:10.0pt;font-family:"Courier New""> </span></p>
<p class="MsoNormal" style="margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal"><span style="font-size:10.0pt;font-family:"Courier New"">Thanks.</span></p>-- <br><font face="georgia, serif"><span style="border-collapse:collapse;font-family:arial, sans-serif;font-size:13px"><p style="color:rgb(0, 0, 0);margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0px">
<span style="font-family:'Book Antiqua', serif;color:rgb(31, 73, 125)">Thanks & Regards,</span></p><p style="color:rgb(0, 0, 0);margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0px"><span style="font-family:'Book Antiqua', serif;color:rgb(31, 73, 125)">Vijeth Raj K</span></p>
<p style="color:rgb(0, 0, 0);margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0px"><span style="font-family:'Book Antiqua', serif;color:rgb(31, 73, 125)">Email : <a href="mailto:vijethrajk@gmail.com" target="_blank">vijethrajk@gmail.com</a></span></p>
<p style="color:rgb(0, 0, 0);margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0px"><span style="font-family:'Book Antiqua', serif;color:rgb(31, 73, 125)"><br></span></p><p style="color:rgb(0, 0, 0);margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0px">
<span style="font-family:'Book Antiqua', serif;color:rgb(31, 73, 125)"><br></span></p></span></font><div><br></div><br>