Hi,<div><br></div><div>I'm trying to get drools-core and drools-compiler 5.1 running on spring dm-server. Does anyone have the minimal list of OSGi bundles as maven dependencies handy?</div><div><br></div><div>Thanks,</div>
<div>Dave <br><br><div class="gmail_quote">On 25 June 2010 13:59, mmarmol <span dir="ltr"><<a href="mailto:marcelo.marmol@gmail.com">marcelo.marmol@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
<br>
Hi, I have managed to install Drools-core and Drools-compiler in my Equinox<br>
osgi environment, I can compile rules and execute them just fine, I was just<br>
wandering how to configure a KnowledgeAgent using<br>
KnowledgeBuilderFactoryService and KnowledgeBaseFactoryService. I managed to<br>
configure one but i am not able to reload rules when they change at runtime.<br>
I have started ResourceChangeScannerService and<br>
ResourceChangeNotifierService, changeset related to the rules file gets read<br>
but no change gets implemented. An idea?<br>
<br>
<br>
Here is the code:<br>
<br>
ResourceFactory.getResourceChangeScannerService().start();<br>
ResourceFactory.getResourceChangeNotifierService().start();<br>
<br>
ServiceReference serviceRef = bc<br>
.getServiceReference(ServiceRegistry.class.getName());<br>
ServiceRegistry registry = (ServiceRegistry) bc.getService(serviceRef);<br>
<br>
KnowledgeBuilderFactoryService knowledgeBuilderFactoryService = registry<br>
.get(KnowledgeBuilderFactoryService.class);<br>
<br>
KnowledgeBaseFactoryService knowledgeBaseFactoryService = registry<br>
.get(KnowledgeBaseFactoryService.class);<br>
ResourceFactoryService resourceFactoryService = registry<br>
.get(ResourceFactoryService.class);<br>
<br>
KnowledgeBuilderConfiguration kbConf = knowledgeBuilderFactoryService<br>
.newKnowledgeBuilderConfiguration(null, getClass()<br>
.getClassLoader());<br>
<br>
KnowledgeBuilder kbuilder = knowledgeBuilderFactoryService<br>
.newKnowledgeBuilder(kbConf);<br>
ResourceFactoryService resource = resourceFactoryService;<br>
kbuilder.add(resource.newFileSystemResource(filePath),<br>
ResourceType.CHANGE_SET);<br>
<br>
if (kbuilder.hasErrors()) {<br>
System.out.println(kbuilder.getErrors());<br>
throw new RuntimeException(kbuilder.getErrors().toString());<br>
}<br>
<br>
KnowledgeBaseConfiguration kbaseConf = knowledgeBaseFactoryService<br>
.newKnowledgeBaseConfiguration(null, getClass()<br>
.getClassLoader());<br>
<br>
KnowledgeBase kbase = knowledgeBaseFactoryService<br>
.newKnowledgeBase(kbaseConf);<br>
kbase.addKnowledgePackages(kbuilder.getKnowledgePackages());<br>
<br>
KnowledgeAgentConfiguration aconf =<br>
KnowledgeAgentFactory.newKnowledgeAgentConfiguration();<br>
aconf.setProperty("drools.agent.scanDirectories", "true");<br>
aconf.setProperty("drools.agent.scanResources", "true");<br>
aconf.setProperty("drools.agent.newInstance", "false");<br>
<br>
kagent = KnowledgeAgentFactory.newKnowledgeAgent( "CoreDroolsAgent",kbase,<br>
aconf);<br>
kagent.applyChangeSet(resource.newFileSystemResource(filePath));<br>
<br>
Thanks in advance!<br>
<br>
Cheers<br>
<font color="#888888">--<br>
View this message in context: <a href="http://drools-java-rules-engine.46999.n3.nabble.com/KnowledgeAgent-and-OSGI-tp921989p921989.html" target="_blank">http://drools-java-rules-engine.46999.n3.nabble.com/KnowledgeAgent-and-OSGI-tp921989p921989.html</a><br>
Sent from the Drools - User mailing list archive at Nabble.com.<br>
</font><div><div></div><div class="h5">_______________________________________________<br>
rules-users mailing list<br>
<a href="mailto:rules-users@lists.jboss.org">rules-users@lists.jboss.org</a><br>
<a href="https://lists.jboss.org/mailman/listinfo/rules-users" target="_blank">https://lists.jboss.org/mailman/listinfo/rules-users</a><br>
</div></div></blockquote></div><br><br clear="all"><br><br>
</div>