[jboss-jira] [JBoss JIRA] (DROOLS-654) Dynamic update with KieContainer.updateToVersion() not working in STREAM mode
Tihomir Meščić (JIRA)
issues at jboss.org
Tue Nov 25 06:59:40 EST 2014
[ https://issues.jboss.org/browse/DROOLS-654?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Tihomir Meščić updated DROOLS-654:
----------------------------------
Description:
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, but 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).
was:
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, but this is not an option because I need a way to specify the processing mode as STREAM.
When doing a dynamic update using the KieContainer.updateToVersion()
> Dynamic update with KieContainer.updateToVersion() not working in STREAM mode
> -----------------------------------------------------------------------------
>
> 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: Mark Proctor
> 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, but 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).
--
This message was sent by Atlassian JIRA
(v6.3.8#6338)
More information about the jboss-jira
mailing list