问题标签 [drools-fusion]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1698 浏览

jboss - 一般流口水问题x

在过去的几个月里,我的公司一直在使用名为 RulePoint 的 Informatica(以前的 AgentLogic)公司的产品。该产品已证明自己非常易于使用,并带有一个开发良好且易于使用的定制 SDK。我们将产品用于 CEP 的方式相当简单,我们有 2 个源来监控我们的规则数据,第一个是 JMS 队列,第二个是 Jabber IM 帐户。该产品可以在任何基于 Java 的应用服务器(WebLogic、Tomcat 等)上运行,并且几乎可以完美运行。

上周我的老板说,“嘿,我听说我们可以用一个名为 Drools 的开源产品来做与 RulePoint 一样的事情。看看,让我知道你的想法。”

我听说有人使用 Drools 进行基于流的操作(验证等),但是,我从未听说有人在实践中使用他们的 CEP 产品(Fusion)。所以,作为一个勤奋的工作者,我承担了这个任务。我已经下载了所有文件(5.0 版)和随附的文档并开始阅读。我已经阅读了几乎所有的文档并运行了大部分示例,但我仍然没有真正看到流口水如何用于 CEP。

虽然有使用 JMS 中的数据(或 Facts,我猜)的示例,但我看不出这个东西是如何保持“运行”的,持续监控队列直到应用程序实际停止。RulePoint 必须只是坐着听,但是 Drools 似乎没有。

我可能会为我们的需要编写一个成熟的命令行应用程序,但是,我希望利用使用应用程序服务器提供的一些好处。

我想我正在寻找一些好的教程或某人如何在生产中使用 Drools 和 CEP 的示例。

0 投票
1 回答
1018 浏览

jboss - 将 Drools 与 JBossESB 集成

最近几周,我一直在研究 Drools 以及其他 CEP/规则引擎,我相信我想使用 Drools。我还有一个 JBossESB,它负责在不同服务之间路由消息。

除非我完全错过了这条船,否则我一生都无法看到如何通过 JBossESB 将数据输入 Drools。

在我的 ESB 内部,我有需要监控和正确路由的数据(事实)(一些数据属性还需要根据每个事实中的其他属性进行修改,我认为使用 Drools(Fusion 和 Expert 的组合) ) 将是处理此问题的最佳方法,但是,我在任何 JBoss(或其他)文档中都没有真正看到我将如何完成此操作。

这是马前车的情况吗?我在某个地方完全错过了船吗?

任何帮助是极大的赞赏。

谢谢。

0 投票
2 回答
1337 浏览

drools - 流口水融合不应该从工作记忆中清除事件

我有以下两条规则:

以及每天生成 10K 次此类备份并模拟 50 天的“压力测试”。鉴于上述所有规则均指 3 天的窗口,并且系统中没有其他规则,因此 50 天后内存中最多应该有 30K 事件(更少,因为应该修剪成功的事件)。但是,当我检查流入口点(WorkingMemoryEntryPoint)的内容时,我在内存中有大约 380K 事件 - 这意味着我有一些非常旧的事件没有像它们应该的那样被自动驱逐。

KB配置为流处理模式,事件定义如下:

所以没有明确的生命周期管理。我究竟做错了什么 ?我知道它与规则 #2 有关,因为如果我删除它,我会在内存中准确地得到 30K 事件(每天 10K * 3 天窗口)

0 投票
1 回答
1881 浏览

rules - Drools Fusion 有“现在”的概念吗?

我正在尝试编写一条规则,将触发延迟到自上次触发以来至少 15 分钟之后。然而,Drools Fusion 中的时间算子只允许推理两个彼此相关的事件,而不是一个与当前时间相关的事件。

我想要这样的东西:

我已经写了一个规则,它每秒触发并插入一个心跳事件(也收回之前的心跳),我可以在其他规则中使用它作为当前时间。

我觉得这很不雅;我是否遗漏了什么或者 Drools Fusion 真的没有什么东西?

注意。我不是在寻找延迟触发的规则或只能在 15 分钟的倍数内触发的规则;如果过去 17 分钟内没有发生任何事情,则规则必须立即触发以响应新事件。

0 投票
1 回答
845 浏览

jakarta-ee - Drools 融合和 Java EE

在 Web/企业应用程序上使用 Drools Fusion 的最佳实践是什么?你知道任何有用的文件吗?

我查看了 JBoss 上的示例(http://download.jboss.org/drools/release/5.1.1.34858.FINAL/drools-5.1.1-examples.zip),但它们是桌面应用程序。我不明白如何让 Drools 会话像这样在服务器上“运行”。

0 投票
1 回答
2379 浏览

java - Drools Fusion 支持持久的、长时间运行的事件

我正在考虑使用Drools Fusion来实现以下示例性规则:

  • 如果客户在一年内购买了两个相同的产品,她将免费获得第三个
  • 最多连续三笔消费超过 200 美元的客户可获得折扣
  • 当客户超过一年不活动时,会生成提醒
  • 当单个订单大于过去 6 个月内的平均订单价值时,会通知主管
  • ...等等,这些只是我脑海中的例子

所有这些规则都可以使用 Drools Fusion 轻松表达。然而,在创建原型并查看文档后,该产品似乎更适合短期、瞬态事件(股票市场、实时决策)。

问题是:是否需要将所有事件存储在内存中?(可能是数百万非常古老的购买)。此外,Drools Fusion 是否可以存储事件以便它们在服务器重启后仍然存在?(理想情况下在数据库中)。

我知道 Drools Fusion 事件只是Drools Expert中的事实,所以也许问题可以扩展为:Drools Expert 可以坚持并延迟加载事实吗?

0 投票
1 回答
4229 浏览

java - Drools Fusion 持续时间和时间戳,为什么它不起作用?

我是 Drools 应用程序的新手,尤其是 Drools fusion。在我的办公室里,我们正在开发一个独立的复杂事件处理应用程序。主要要求之一是计算每个事件的开始时间、频率、结束时间、持续时间的可能性。我们正在测试 Drools Fusion 这样做,我们制作了这个不起作用的例子。在此示例中,我们尝试计算持续时间。作为旁注,我们无法计算事件时间戳,现在我们使用 System.currentTimeMillis() 解决。

也许 Drools 不是一个好的框架,我们必须改变我们的选择?

示例.drl

和示例类

0 投票
1 回答
320 浏览

java - Drools 为什么 StatefulKnowledgeSession 有不同的知识库

我正在尝试对 Drools 框架进行一些体验。在我的测试期间,我尝试了以下测试

为什么这个测试失败了?KnowledgeBase会话具有用于其创建的引用不是真的吗?我对此有点困惑。也许有人可以帮助我理解它。

非常感谢您提前。阿尔贝托

0 投票
1 回答
139 浏览

jboss - 关于持续时间的 LHS 条件我怎么能

在我们公司,我们将 Drools 评估为我们产品的框架。为此,我正在尝试一些实验,显然我现在被很多问题所淹没。例如,我不知道如何对事件的持续时间做出条件。不知道有没有类似的

非常感谢先进

0 投票
1 回答
3248 浏览

rest - Apache Camel 和 Drools 融合集成

有没有人尝试将 Apache Camel 与 Drools Fusion 或只是 Drools 集成。

以下是我的用例。

  • 使用 REST 从外部服务获取数据。
  • 过滤数据(使用 Drools 中定义的规则。)
  • 来自外部服务的数据也可以是信息流(例如,Tweeter feed、用户的实时位置)

任何帮助或指示将不胜感激。

谢谢。