0

我正在使用与 Kie 执行服务器集成的 Drools 工作台 7.17。我在工作台中创建了一个项目,该项目部署在 kie 执行服务器上。

在项目的设置中配置了 kie-base 和 kie-session。将有状态的 kie-session 定义为 KieSession。我正在使用 Kie Server Java Client API 将事实插入引擎。

我可以在 KieSession 上进行查找。我将接收不同用户的数据,并且我想为每个用户创建和维护单独的会话。当为现有用户插入事实时,我应该能够重新加载与该用户关联的kie-session 。

有什么方法可以让我使用 drools 工作台和 kie 执行服务器来实现这一点?我在 kie 服务器文档中找不到使用 kie 服务器 java 客户端 api 创建新会话的任何示例。

提前致谢。

4

1 回答 1

1

如果是这种情况,每次您拨打电话时都会创建一个新会话。kie-server 中不维护有状态会话。

您有 3 个解决方案:

1)为此开发一个kie-server扩展,但很难集群(你必须序列化kie会话)

2)使用drools的java API在客户端运行规则。

3)制定您的规则,使规则执行生成的数据包含您的计算状态,以便用初始数据+所有由规则生成的回调流口水相当于为您的客户端会话保持有状态会话。Drools 可以快速插入数据。但现在一切都取决于您插入多少数据。几千也不算什么。

问候

于 2020-02-28T13:30:55.603 回答