升级 Kie 容器时,DROOLS Kie 扫描仪是否保留有状态的 Kie 会话内容?

Is the DROOLS Kie Scanner preserving the stateful Kie Session content when upgrading the Kie Container?

我使用的是 Kie 7.45.0-Final 版本 在我的应用程序中,我有一个有状态的 Kie Session 运行(它以 session.fireUntilHalt() 调用开始)。还有一个 KieScanner 实例 运行 和监控外部 Maven 存储库,在 pom.xml 和 settings.xml 文件中配置。 当检测到更改时,kieScanner 会部署新版本而不会出错。 在会话工作内存中有超过 150 万个事实,当 kieScanner 部署新规则集时,会话内容将被保留。 但是 2.2.8 中的 Drools documentation 说:

if the KIE scanner detects an updated version of the SNAPSHOT project in the specified KIE container, the KIE scanner automatically downloads the new project version and triggers an incremental build of the new project. From that moment, all of the new KieBase and KieSession objects that were created from the KIE container use the new project version.

我对上一句的理解是必须新建一个Session才能使新版本生效。 但事实并非如此,会话内容未受影响,新规则在 kieScanner 部署后处于活动状态。此行为对我的应用程序至关重要,因为启动新会话并重新加载所有事实会花费太多时间。我想确定我可以相信这种行为,并且手册(或我的解释)是错误的。

对此的任何见解都会有所帮助。

谢谢

让我澄清一下文档中的那句话。

From that moment,

(阅读:KieScanner 完成增量构建的时刻)

all of the new KieBase and KieSession objects that were created

(阅读:所有新的 KieBase 和 KieSession 都是在任何时候从更新的 KieContainer 创建的,甚至在 KieScanner 执行增量构建之前)

from the KIE container use the new project version.