【发布时间】:2020-11-11 22:11:44
【问题描述】:
我正在使用 Kie 版本 7.45.0-Final 在我的应用程序中,我有一个有状态的 Kie Session 正在运行(它以 session.fireUntilHalt() 调用开始)。还有一个 KieScanner 实例运行和监控外部 Maven 存储库,在 pom.xml 和 settings.xml 文件中配置。 当检测到更改时,kieScanner 会正确部署新版本。 在会话工作内存中有超过 150 万个事实,当 kieScanner 部署新规则集时,会话内容被保留。 但是 2.2.8 中的 Drools documentation 说:
如果 KIE 扫描器在指定的 KIE 容器中检测到 SNAPSHOT 项目的更新版本,则 KIE 扫描器会自动下载新项目版本并触发新项目的增量构建。从那时起,所有从 KIE 容器创建的新 KieBase 和 KieSession 对象都使用新的项目版本。
我对上一句的理解是,你必须创建一个新的 Session 才能使新版本生效。 但这不是真的,Session 内容没有被触及,并且在 kieScanner 部署后新规则处于活动状态。这种行为对我的应用程序至关重要,因为启动一个新的 Session 并重新加载所有的事实会太耗时。我想确定我可以相信这种行为,并且手册(或我的解释)是错误的。
对此的任何见解都会有所帮助。
谢谢
【问题讨论】:
标签: drools