<div dir="ltr">My rule engine server is multi threaded.<br><br>in the server main i build a knowledgebase:<br><br>KnowledgeBuilderConfiguration config = KnowledgeBuilderFactory.newKnowledgeBuilderConfiguration(droolsConf, null);<br>
KnowledgeBuilder builder = KnowledgeBuilderFactory.newKnowledgeBuilder(config);<br>builder.add(ResourceFactory.newFileResource(&quot;path to drools pkg&quot;, ResourceType.PKG);<br>        <br> KnowledgeBase knowledgeBase = KnowledgeBaseFactory.newKnowledgeBase();<br>
knowledgeBase.addKnowledgePackages(builder.getKnowledgePackages());<br><br>i have 10 threads that have the following code:<br><br><br><br>thread run method:<br><br><br>as long as a Vector has data do:<br><br>1. StatelessKnowledgeSession droolsSession= m_droolsKagent.getKnowledgeBase().newStatelessKnowledgeSession();<br>
2. get data object  from a vector<br>3. create fact model from data<br>4. droolsSession.insert(facts);<br>5. droolsSession.fireAllRules();<br>6. do stuff with the response<br>7.droosSession.dispose<br>8.get  next object from vector.<br>
<br><br>Questions:<br>1. should i create each time the droolsSession? or can i resuse the same one, meaning can i create it in the Thread&#39;s constractor?<br><br>Thanks<br>Nadav.<br></div>