[rules-users] KnowledgeAgent and OSGI
David Conde
dconde at calomtech.com
Wed Aug 4 05:25:40 EDT 2010
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 <marcelo.marmol at gmail.com> 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
> rules-users at lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/rules-users
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.jboss.org/pipermail/rules-users/attachments/20100804/00a42cb3/attachment.html
More information about the rules-users
mailing list