As a follow-up, this did work however there are still some problems. The rules did get pulled into the application and seem to be running but clearly something is not right.
I needed to include the drools-compiler.jar in my app otherwise I was getting a ClassNotFoundException. I am pulling a compiled package from the Guvnor so not sure why I need the compiler jar in my app. When the rules are pulled into the app I am getting the exception thrown which is being logged and the app can continue running: 2010-07-01 00:36:14,201 | INFO (MyDroolsListener.java:41) KnowledgeAgent performing an incremental build of the ChangeSet 2010-07-01 00:36:14,261 | ERROR (MyDroolsListener.java:30) java.lang.RuntimeException: KnowledgeAgent exception while trying to deserialize KnowledgeDefinitionsPackage 2010-07-01 00:36:14,261 | WARN (MyDroolsListener.java:53) KnowledgeAgent: The resource didn't create any package: [UrlResource path='http://ruleserver/drools-guvnor/org.drools.guvnor.Guvnor/package/m y.rule.package/LATEST'] 2010-07-01 00:36:14,271 | INFO (MyDroolsListener.java:41) KnowledgeAgent incremental build of KnowledgeBase finished and in use Then if I rebuild the package in the Guvnor then I see the following [the two lines are repeated for each rule in the package]: [2010:07:182 00:07:741:debug] BinaryResourceDiffProducerImpl: Comparing [Rule name=v_32, agendaGroup=MAIN, salience=0, no-loop=false] against [Rule name=v_32, agendaGroup=MAIN, salience=0, no-loop=false] [2010:07:182 00:07:741:debug] BinaryResourceDiffProducerImpl: The rules have different LHS Thanks From: [email protected] [mailto:[email protected]] On Behalf Of Esteban Aliverti Sent: Wednesday, June 30, 2010 6:35 PM To: Rules Users List Subject: Re: [rules-users] Drools and Guvnor 5.1M2 - Exception beingthrownin processChangeSet The problem seams to happen because the kagent can't access the url. If you try to access the change set xml using a browser, does the browser ask you for authentication? I don't know why, but guvnor protect its urls since 5.1 I think. So, basically, the error is that guvnor can't read from the url. The same error happens if you provide a non existent url. I need to open a jira for this. As a work around, try doing this: <change-set xmlns='http://drools.org/drools-5.0/change-set <http://drools.org/drools-5.0/change-set> ' xmlns:xs='http://www.w3.org/2001/XMLSchema-instance <http://www.w3.org/2001/XMLSchema-instance> ' xs:schemaLocation='http://drools.org/drools-5.0/change-set drools-change-set-5.0.xsd <http://drools.org/drools-5.0/change-setdrools-change-set-5.0.xsd> ' > <add> <resource basicAuthentication='enabled' username='admin' password='admin' source='http://ruleserver/drools-guvnor/org.drools.guvnor.Guvnor/package /my.rule.package/LATEST <http://ruleserver/drools-guvnor/org.drools.guvnor.Guvnor/package/my.rul e.package/LATEST> ' type='PKG' /> </add> </change-set> Remember to replace username and password. Best, 2010/6/30 Jeffrey Schneller <[email protected]> Here is the xml file I am getting: <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 drools-change-set-5.0.xsd <http://drools.org/drools-5.0/change-setdrools-change-set-5.0.xsd> ' > <add> <resource source='http://ruleserver/drools-guvnor/org.drools.guvnor.Guvnor/package /my.rule.package/LATEST' type='PKG' /> </add> </change-set> From: [email protected] [mailto:[email protected]] On Behalf Of Esteban Aliverti Sent: Wednesday, June 30, 2010 3:18 PM To: Rules Users List Subject: Re: [rules-users] Drools and Guvnor 5.1M2 - Exception being thrownin processChangeSet Could you please post the xml file you are getting from http://rulerserver/drools-guvnor/org.drools.guvnor.Guvnor/package/my.rul e.package/LATEST/ChangeSet.xml <http://rulerserver/drools-guvnor/org.drools.guvnor.Guvnor/package/my.ru le.package/LATEST/ChangeSet.xml> ? Best, 2010/6/30 Jeffrey Schneller <[email protected]> I am trying to upgrade to the 5.1M2 build from 5.0.1 and am running into some issues. I have installed the new 5.1 Guvnor and imported the rules from my 5.0.1 Guvnor instance. I then removed the old 5.0.1 drools jars from my app and replaced them with the 5.1M2 drools jars. I was also added all the dependent libraries. The code that worked with the 5.0.1 version does not work with the 5.1M2 version. In 5.0.1 I was constructing the xml and streaming it into the applyChangeSet method. With 5.1M2 I am just pointing to the change set xml file that is in the Guvnor. I am seeing a NullPointerException being thrown in the processChangeSet method as shown below. Caused by: java.lang.NullPointerException at org.drools.agent.impl.KnowledgeAgentImpl.processChangeSet(KnowledgeAgent Impl.java:171) at org.drools.agent.impl.KnowledgeAgentImpl.applyChangeSet(KnowledgeAgentIm pl.java:143) at org.drools.agent.impl.KnowledgeAgentImpl.applyChangeSet(KnowledgeAgentIm pl.java:130) Did I miss something? Am I doing something wrong? Below is the code that I have. KnowledgeAgentConfiguration kaconf = KnowledgeAgentFactory.newKnowledgeAgentConfiguration(); kaconf.setProperty( "drools.agent.scanDirectories", "true" ); kaconf.setProperty("drools.agent.newInstance", "false"); ResourceFactory.getResourceChangeScannerService().start(); ResourceFactory.getResourceChangeNotifierService().start(); String url = "http://rulerserver/drools-guvnor/org.drools.guvnor.Guvnor/package/my.ru le.package/LATEST/ChangeSet.xml"; KnowledgeAgent kagent = KnowledgeAgentFactory.newKnowledgeAgent( "Configuration", kaconf ); kagent.setSystemEventListener(new MyDroolsListener()); try { kagent.applyChangeSet(ResourceFactory.newUrlResource(new URL(url))); // ERROR IS OCCURING INSIDE OF applyChangeSet } catch (MalformedURLException e) { e.printStackTrace(); } _______________________________________________ rules-users mailing list [email protected] https://lists.jboss.org/mailman/listinfo/rules-users -- XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX Esteban Aliverti _______________________________________________ rules-users mailing list [email protected] https://lists.jboss.org/mailman/listinfo/rules-users -- XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX Esteban Aliverti
_______________________________________________ rules-users mailing list [email protected] https://lists.jboss.org/mailman/listinfo/rules-users
