Hi, 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?
Thanks, Dave On 25 June 2010 13:59, mmarmol <[email protected]> wrote: > > Hi, I have managed to install Drools-core and Drools-compiler in my Equinox > osgi environment, I can compile rules and execute them just fine, I was > just > wandering how to configure a KnowledgeAgent using > KnowledgeBuilderFactoryService and KnowledgeBaseFactoryService. I managed > to > configure one but i am not able to reload rules when they change at > runtime. > I have started ResourceChangeScannerService and > ResourceChangeNotifierService, changeset related to the rules file gets > read > but no change gets implemented. An idea? > > > Here is the code: > > ResourceFactory.getResourceChangeScannerService().start(); > ResourceFactory.getResourceChangeNotifierService().start(); > > ServiceReference serviceRef = bc > > .getServiceReference(ServiceRegistry.class.getName()); > ServiceRegistry registry = (ServiceRegistry) > bc.getService(serviceRef); > > KnowledgeBuilderFactoryService > knowledgeBuilderFactoryService = registry > .get(KnowledgeBuilderFactoryService.class); > > KnowledgeBaseFactoryService knowledgeBaseFactoryService = > registry > .get(KnowledgeBaseFactoryService.class); > ResourceFactoryService resourceFactoryService = registry > .get(ResourceFactoryService.class); > > KnowledgeBuilderConfiguration kbConf = > knowledgeBuilderFactoryService > .newKnowledgeBuilderConfiguration(null, > getClass() > .getClassLoader()); > > KnowledgeBuilder kbuilder = knowledgeBuilderFactoryService > .newKnowledgeBuilder(kbConf); > ResourceFactoryService resource = resourceFactoryService; > kbuilder.add(resource.newFileSystemResource(filePath), > ResourceType.CHANGE_SET); > > if (kbuilder.hasErrors()) { > System.out.println(kbuilder.getErrors()); > throw new > RuntimeException(kbuilder.getErrors().toString()); > } > > KnowledgeBaseConfiguration kbaseConf = > knowledgeBaseFactoryService > .newKnowledgeBaseConfiguration(null, > getClass() > .getClassLoader()); > > KnowledgeBase kbase = knowledgeBaseFactoryService > .newKnowledgeBase(kbaseConf); > kbase.addKnowledgePackages(kbuilder.getKnowledgePackages()); > > KnowledgeAgentConfiguration aconf = > KnowledgeAgentFactory.newKnowledgeAgentConfiguration(); > aconf.setProperty("drools.agent.scanDirectories", "true"); > aconf.setProperty("drools.agent.scanResources", "true"); > aconf.setProperty("drools.agent.newInstance", "false"); > > kagent = KnowledgeAgentFactory.newKnowledgeAgent( > "CoreDroolsAgent",kbase, > aconf); > > kagent.applyChangeSet(resource.newFileSystemResource(filePath)); > > Thanks in advance! > > Cheers > -- > View this message in context: > http://drools-java-rules-engine.46999.n3.nabble.com/KnowledgeAgent-and-OSGI-tp921989p921989.html > Sent from the Drools - User mailing list archive at Nabble.com. > _______________________________________________ > rules-users mailing list > [email protected] > https://lists.jboss.org/mailman/listinfo/rules-users >
_______________________________________________ rules-users mailing list [email protected] https://lists.jboss.org/mailman/listinfo/rules-users
