gpt4 book ai didi

无状态 session 与有状态 session 的对比

转载 作者:行者123 更新时间:2023-12-02 04:22:43 24 4
gpt4 key购买 nike

什么时候应该使用 Drools 无状态 session ?使用它代替有状态 session 有什么好处?
在一些评论中here据说无状态 session 包装了有状态 session ,这是否意味着当我在触发所有规则后销毁 statfeul session 时,其行为会像有状态 session 一样?

最佳答案

也许更好的说法是(有状态)KieSession 和 StatelessKieSessions 都为基于类 AbstractRuntime 的类提供 API(接口(interface))。

StatelessKieSession 提供了一个接口(interface),用于通过单个 execute 方法调用执行一组命令,命令被表示为一组对象。如果您想要向远程 session 发送命令(但如果您在应用程序中运行 session 则则不然),这非常有用。此外,这样的 session 不会对工作内存中所做的更改使用react,因此它的用处是有限的,尽管它可能比有状态 session 更有效地执行第一轮也是唯一一轮。

execute 调用意味着 dispose 调用,这是对 session 对象的最后告别:将所有资源释放到垃圾回收中。

总结(Drools 文档中有完整描述)

  • 对于简单的规则评估,尤其是通过某些远程通信进行的评估,请使用无状态 session 。
  • 要充分利用生产系统的全部功能,即由于事实改变和事实排列改变而持续重新评估规则条件,有必要使用有状态 session 。

如果您计划使用简单的应用程序界面,则不必担心“好处”:只需使用有状态 session 即可。

关于无状态 session 与有状态 session 的对比,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33463155/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com