78.3. KIE 会话池


在有大量 KIE 运行时数据和高系统活动的用例中,可能会创建并经常发生 KIE 会话。KIE 会话的大量消耗并非总是消耗时间,但当重复电池时,该过程可能会成为瓶颈,需要大量清理工作。

对于这些高容量情况,您可以使用 KIE 会话池,而不是多个单独的 KIE 会话。要使用 KIE 会话池,您可以从 KIE 容器获取 KIE 会话池,定义池中 KIE 会话的初始数量,并照常从该池中创建 KIE 会话:

KIE 会话池示例

// Obtain a KIE session pool from the KIE container
KieContainerSessionsPool pool = kContainer.newKieSessionsPool(10);

// Create KIE sessions from the KIE session pool
KieSession kSession = pool.newKieSession();
Copy to Clipboard Toggle word wrap

在本例中,KIE 会话池从 10 KIE 会话开始,但您可以指定您需要的 KIE 会话数量。这个整数值是仅初始在池中创建的 KIE 会话数。如果正在运行的应用程序需要,池中的 KIE 会话数量可能会动态增长超过该值。

定义了 KIE 会话池后,下次使用 KIE 会话,并经常调用 dispose (),则 KIE 会话会被重置并推送回池,而不是被销毁。

KIE 会话池通常适用于有状态 KIE 会话,但 KIE 会话池也可以影响您与多个 execute () 调用重复使用的无状态 KIE 会话。当您直接从 KIE 容器创建无状态 KIE 会话时,KIE 会话将继续在内部为每个 execute () 调用创建一个新的 KIE 会话。相反,当您从 KIE 会话池中创建无状态 KIE 会话时,KIE 会话内部只使用池提供的特定 KIE 会话。

使用 KIE 会话池完成后,您可以调用 shutdown () 方法以避免内存泄漏。或者,您可以在 KIE 容器上调用 dispose () 来关闭从 KIE 容器创建的所有池。

返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2025 Red Hat