Hy all We're having the following situation in our application:
ChangeSet: <change-set xmlns='http://drools.org/drools-5.0/change-set' xmlns:xs='http://www.w3.org/2001/XMLSchema-instance' xs:schemaLocation='http://drools.org/drools-5.0/change-set http://anonsvn.jboss.org/repos/labs/labs/jbossrules/trunk/drools-api/src/main/resources/change-set-1.0.0.xsd'> <add> <resource source='file:rules/rules.pkg' type='PKG' /> </add> </change-set> Code: ... // Build initial KnowledgeBase KnowledgeBuilderConfiguration kbuilderConfig = KnowledgeBuilderFactory.newKnowledgeBuilderConfiguration(null, classloaders); knowledgeBuilder = KnowledgeBuilderFactory.newKnowledgeBuilder(kbuilderConfig); knowledgeBuilder.add(resource, resourceType); //Resource: URL-Resource (Patch to ChangeSet), ResourceType: ChangeSet Collection<KnowledgePackage> knowledgePackages = knowledgeBuilder.getKnowledgePackages(); knowledgeBase.addKnowledgePackages(knowledgePackages); // Create and configure Knowledge Agent KnowledgeAgentConfiguration knowledgeAgentConfig = KnowledgeAgentFactory.newKnowledgeAgentConfiguration(); knowledgeAgentConfig.setProperty("drools.agent.useKBaseClassLoaderForCompiling", "true"); knowledgeAgentConfig.setProperty("drools.agent.newInstance", "false"); knowledgeAgent = KnowledgeAgentFactory.newKnowledgeAgent("MyAgent", knowledgeBase, knowledgeAgentConfig); knowledgeAgent.addEventListener(new KnowledgeAgentEventListener() {...} // Just for debugging purposes knowledgeAgent.monitorResourceChangeEvents(true); knowledgeAgent.applyChangeSet(resource); // Configure Notification and Scanner ResourceChangeScannerConfiguration resourceChangeScannerConfig = ResourceFactory .getResourceChangeScannerService().newResourceChangeScannerConfiguration(); resourceChangeScannerConfig.setProperty("drools.resource.scanner.interval", "10"); ResourceFactory.getResourceChangeScannerService().configure(resourceChangeScannerConfig); ResourceFactory.getResourceChangeNotifierService().start(); ResourceFactory.getResourceChangeScannerService().start(); // Get KnowledgeBase from Agent knowledgeBase = knowledgeAgent.getKnowledgeBase(); ... When i replace the rules.pkg with a new package (exported from guvnor with a newer "Date Modified"), the Knowledge-Base is newly generated. When I replace the pkg with the Package from the previous Version (older "Date modified"), nothing happens (despite the pkg has changed). Question: Does the agent only updates the Knowledge-Base, when the replaced pkg-File has a newer "Date Modified"? In our scenario, the expected behaviour would be that the Agent updates the Knowledge-Base everytime the pkg-file changes, so that we can switch between newer and older versions of the pkg-file. Any idea how to achieve this? Thanks for your help. Kind regards, Peter
_______________________________________________ rules-users mailing list rules-users@lists.jboss.org https://lists.jboss.org/mailman/listinfo/rules-users