[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 (and this is the only way I know of).




> 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