Uploaded image for project: 'Drools'
  1. Drools
  2. DROOLS-654

Dynamic update with KieContainer.updateToVersion() not working when ksession was created with config

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Won't Do
    • Icon: Blocker Blocker
    • None
    • 6.1.0.Final, 6.2.0.CR2
    • None
    • None

      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).

            mfusco@redhat.com Mario Fusco
            tmescic Tihomir Meščić (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated:
              Resolved: