首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Kie服务器中批量处理请求(Drools)

在Kie服务器中批量处理请求(Drools)
EN

Stack Overflow用户
提问于 2016-12-02 02:19:40
回答 1查看 673关注 0票数 0

我们已经有了使用kie-server REST-API一次用一个请求(包含带有多个事实的记录的请求)调用kie服务器的机制。这工作得很好,给了我们响应,运行了规则并提供了审计跟踪。

但是,我们有了以批处理模式处理请求的新要求。我们正在探索以下选项:

选项-1。接收一批请求,一次发送一条记录到KIE-SERVER REST API。选项-2。批量发送所有记录,并作为一个请求提交到KIE-SERVER REST API。

选项-1实际上不是一个解决方案,因为它在幕后一次使用一个请求。

问: KIE-SERVER是否提供了批处理功能,其中接收一批记录(而不是请求中的一条记录),隔离处理每条记录(即一条记录中的事实不应与其他记录混合),并生成响应和审计跟踪?

EN

回答 1

Stack Overflow用户

发布于 2016-12-03 00:28:59

要在一个请求中执行一批命令,org.kie.api.command.KieCommands有工厂方法,而newBatchExecution()是您想要的。

KieServices获取KieCommands实例

代码语言:javascript
复制
KieCommands commandsFactory = KieServices.Factory.get().getCommands();

使用命令工厂方法(例如newInsert(fact))创建命令列表,并将其传递给newBatchExecution()

代码语言:javascript
复制
List<Command<?>> commands = makeCommands();
BatchExecutionCommand bec = commandsFactory.newBatchExecution(commands);

请注意,KIE服务器将按列表顺序执行命令,因此请仔细排序;例如,在插入事实之前不要触发规则。

在请求中使用BatchExecutionCommand实例,而不是您的单个命令。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40917716

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档