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(KnowledgeAgentImpl.java:171)
at
org.drools.agent.impl.KnowledgeAgentImpl.applyChangeSet(KnowledgeAgentImpl.java:143)
at
org.drools.agent.impl.KnowledgeAgentImpl.applyChangeSet(KnowledgeAgentImpl.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.rule.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();
}