首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >DROOLS规则引擎:在Drools中进行网络调用

DROOLS规则引擎:在Drools中进行网络调用
EN

Stack Overflow用户
提问于 2016-11-10 12:44:19
回答 1查看 415关注 0票数 0

我工作的一个事务性系统处理来自多个外部系统的data-gathering,并根据(事务性实体+收集的数据)做出一些业务决策。

目前,我们采取以下步骤:

  1. 从多个子系统收集数据。
  2. 使用(收集的数据+事务实体)作为drools的输入,并从中派生业务决策。

,上述方法的一个主要缺点是,我必须事先收集所有数据(昂贵的网络呼叫),而不必担心数据的有用性。

我试图通过将服务调用移动到规则执行层来延迟服务调用。这样做的目的是利用drools决策树来避免进行服务调用,如果我能够对一些已经可用的数据(在事务实体本身内)做出决定的话。

只想验证思想过程(也就是说,将服务调用作为规则执行的一部分将是一个很好的实践。)

有谁能分享一下大致相同的利弊吗?如有任何线索,将不胜感激。

EN

回答 1

Stack Overflow用户

发布于 2016-11-10 23:01:10

你不能用你还没有的事实来推理。如果你的事实让你决定你还需要什么,你可以根据下面的小例子写规则。

代码语言:javascript
复制
rule "x and y, not z"
when
    Dimension( $id: id, coord == "x" )
    Dimension( id == $id, coord == "y" )
    not Dimension( id == $id, coord == "z" )
then
    fetch and insert missing Dimension
end

rule "x, y and z" ... end

请注意,不能同步执行此获取和插入过程。您可以将请求作为事件队列插入--使用Java中的任何内容。

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

https://stackoverflow.com/questions/40527966

复制
相关文章

相似问题

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