]
Mario Fusco commented on DROOLS-477:
------------------------------------
I believe the issue you're reporting has been fixed with this commit
Please try again with Drools 6.3.0.Beta2 and check if this fixed your problem.
KieScanner is not working as expected
-------------------------------------
Key: DROOLS-477
URL:
https://issues.jboss.org/browse/DROOLS-477
Project: Drools
Issue Type: Bug
Affects Versions: 6.0.1.Final
Environment: Windows 7
Reporter: Alexander Pykhtin
Assignee: Mario Fusco
Fix For: 6.1.0.Beta4
Attachments: drools_jar.zip, drools_sample.zip
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
{
kScanner.scanNow();
}
}
} catch (Throwable t) {
t.printStackTrace();
}
scanner.close();