是否可以向正在运行的 Drools 会话添加新规则?

发布于 2024-10-06 03:32:10 字数 179 浏览 4 评论 0原文

嘿,我正在工作一个项目,可能需要我在程序运行期间将规则加载/卸载到有状态的 Drools 会话。 (最终使用 JMX,但现在我只是尝试向现成的会话添加规则)

我想知道,这可能吗?在这种情况下如何?我需要重建会话吗?我试图简单地从会话中获取知识库,将我的规则文件添加到其中,然后触发所有规则,但这不起作用。

谢谢!

Hey there, I've got a project at work that may require me to load/unload rules to a stateful Drools session during the run of the program. (Eventually using JMX, but for now I'm just trying to add a rule to a ready-made session)

I was wondering, is this possible and in that case how? Do I need to rebuild the session? I have attempted to simply get the knowledge base from the session, add my rule file to it and then fire all rules, which didn't work.

Thanks!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

浅笑依然 2024-10-13 03:32:10

简短的回答是肯定的,这是来自 文档

3.2.5。有状态知识会话和知识库修改

有状态知识会话将在“运行”部分中更详细地讨论。 KnowledgeBase 创建并返回 StatefulKnowledgeSession 对象,并且它可以选择保留对这些对象的引用。当知识库发生修改时,这些修改将应用于会话中的数据。该引用是弱引用,也是可选的,由布尔标志控制。

Short answer is YES, here's a quote from the documentation:

3.2.5. StatefulknowledgeSessions and KnowledgeBase Modifications

Stateful Knowledge Sessions will be discussed in more detail in section "Running". The KnowledgeBase creates and returns StatefulKnowledgeSession objects, and it may optionally keep references to those. When KnowledgeBase modifications occur those modifications are applied against the data in the sessions. This reference is a weak reference and it is also optional, which is controlled by a boolean flag.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文