在我的应用程序中,我正在使用KIEVersion7.45.0-Final,并且正在运行一个有状态的Kie会话(它从session.fireUntilHalt()调用开始)。还有一个KieScanner实例正在运行并监视pom.xml和settings.xml文件中配置的外部Maven存储库。当检测到更改时,kieScanner将无错误地部署新版本。在会话工作内存中,有超过150万条事实,当kieScanner部署新的规则集时,会话内容将被保留。然而,2.2.8中的Drools 文档说:
如果KIE扫描器在指定的KIE容器中检测到快照项目的更新版本,则KIE扫描器将自动下载新项目版本并触发新项目的增量生成。从那时起,从KIE容器中创建的所有新的KieBase和KieSession对象都使用新的项目版本。
我对前一句的理解是,你必须创建一个新的会议,以使新的版本生效。但这不是真的,会话内容是不动的,新规则在kieScanner部署之后是活动的。这种行为对我的应用程序至关重要,因为启动一个新会话并重新加载所有事实将花费太大的时间。我想确定我可以相信这种行为,手册(或我的解释)是错误的。
任何有关这方面的见解都是有帮助的。
谢谢
发布于 2021-05-07 09:41:12
让我澄清一下文档中的那句话。
从那一刻起,
(阅读: KieScanner完成增量构建的时刻)
创建的所有新的KieBase和KieSession对象
(阅读:所有新的KieBase和KieSession在任何时候都是从更新的KieContainer创建的,甚至在KieScanner执行增量构建之前)
从KIE容器中使用新的项目版本。
https://stackoverflow.com/questions/64794935
复制相似问题