-
Bug
-
Resolution: Done
-
Major
-
6.0.1.Final
-
None
-
None
KieScanner is not dynamically updates the rules in a sample application.
drools_sample is a parent project, drools_jar is its dependency that is expected to be dynamically updated.
Here is the sample code:
Scanner scanner = new Scanner(System.in);
try {
KieServices ks = KieServices.Factory.get();
ReleaseId releaseId = ks.newReleaseId( "com.study", "drools_sample", "0.0.1-SNAPSHOT" );
KieContainer kContainer = ks.newKieContainer( releaseId );
KieSession kSession = null;
KieScanner kScanner = ks.newKieScanner( kContainer );
boolean repeat = true;
// go !
while(repeat)
{
kSession = kContainer.newKieSession("ksession-rules_jar");
Message message = new Message();
message.setMessage("Hello World");
message.setStatus(Message.HELLO);
DynamicFactType dft = new DynamicFactType();
kSession.insert(message);
kSession.insert(dft);
kSession.fireAllRules();
kSession.dispose();
String inp = scanner.nextLine();
if(inp.length() > 0)
repeat = false;
else
}
} catch (Throwable t)
scanner.close();