首页 > 解决方案 > Drools updateToVersion 在实例仍在利用规则引擎时调用?

问题描述

我正在开发一个需要像架构这样的规则引擎的系统。我远程存储规则并每 20 分钟异步将它们提取到我的应用程序中。

获取规则后,我正在构建一个新的 KieBuilder 实例(通过创建一个新的 KieFileSystem 构建)并使用updateToVersion()方法。

kieContainer.updateToVersion(kieBuilder.getKieModule().getReleaseId());

这会动态更新知识库,让我不必重新部署我的应用程序。

但是我想知道那些传递给规则引擎并在调用 updateToVersion() 方法的瞬间被执行的实例会发生什么?旧规则是否适用于它们或工作记忆是否被清除?这是我的应用程序中很可能出现的情况,并且想确切地知道在这种情况下会发生什么。

另外,我在想,为了避免任何影响,有没有办法在更新时停止接受/暂停实例到 kieSession 中?

标签: droolsrule-engine

解决方案


推荐阅读