]
Mario Fusco reassigned DROOLS-654:
----------------------------------
Assignee: Mario Fusco (was: Mark Proctor)
Dynamic update with KieContainer.updateToVersion() not working when
ksession was created with config
----------------------------------------------------------------------------------------------------
Key: DROOLS-654
URL:
https://issues.jboss.org/browse/DROOLS-654
Project: Drools
Issue Type: Bug
Affects Versions: 6.1.0.Final, 6.2.0.CR2
Environment: Ubuntu Linux
Reporter: Tihomir Meščić
Assignee: Mario Fusco
Priority: Blocker
I'm creating my {{KieSession}} by setting {{STREAM}} as the event processing mode in
the configuration:
{{KieBaseConfiguration config = KieServices.Factory.get()}}
{{.newKieBaseConfiguration();}}
{{config.setOption(EventProcessingOption.STREAM);}}
{{KieContainer kc = ks.newKieContainer( ... releaseId ... );}}
{{KieSession ksession = kc.newKieBase(config).newKieSession();}}
After that, everything works fine. But when I try to dynamically update to a new version
(containing new rules):
{{kc.updateToVersion( ... newReleaseId... );}}
It seems like all of the facts are removed from the session, and my rules are no longer
triggered.
When I do not use the configuration object when creating the session and just use:
{{KieSession ksession = kc.newKieSession();}}
then, everything works as expected. However, this is not an option because I need a way
to specify the processing mode as {{STREAM}} (and this is the only way I know of).