当前位置: 首页 > 知识库问答 >
问题:

如何从Drools中的事件中选择两个不同的属性

龙飞文
2023-03-14

我试图写一个流口水规则,检查两个事件是否发生在同一个流。我有一个符合性规则类,它包含逻辑(在工作内存中),可以与来自切入点的事件进行比较。所有我需要的是检测两个事件的发生,例如我想检测事件A发生了,然后B发生了。我用口水语法写了这个角色

$comrule : Comprules ( pattern == "response" , isBefore == false)  
Event  (task == $comrule.antecedent) from entry-point StoreOne  
Event (task == $comrule.consequent) from entry-point StoreOne

问题是这项技术不起作用。唯一有效的是我写这篇文章的时候

Event  (task == $comrule.antecedent) from entry-point StoreOne  
not Event (task == $comrule.consequent) from entry-point StoreOne

我读了口水留档但我找不到任何解决这个问题任何帮助将不胜感激

共有1个答案

阴焱
2023-03-14

检查两个事件是否按正确顺序发生的典型模式如下:

Comprules( pattern == "response", !isBefore, $a: antecedent, $b: consequent )
$one: Event( task == $a ) from entry-point StoreOne  
$two: Event( task == $b, this after $one ) from entry-point StoreOne

使用not测试是否存在事实,这可能是$one到达而$two仍然不存在后的情况。

 类似资料:
  • 问题内容: 我的SQL Server数据库中有两个表。第一个是,第二个是。两个表中都有一列。 现在,我想从两个表中选择一个特定的值。 这就是我在做的 但是我的查询给出了错误。 问题答案:

  • 问题内容: 有这张桌子 和这个 我如何从表“项目”中选择所有行并显示字段“已删除”,即使在给定用户ID的情况下,即使“ MyList”中不存在itemID? 查询结果示例: 什么是查询,以便我可以得到该结果? 谢谢 问题答案: 我不确定这是否是最好的方法,但它会返回我一直在寻找的内容:

  • null 我什么也想象不到,有人来帮我吗? ----编辑---- @拉胡尔, 141  测试粉笔 ;   141        123 141  测试粉彩 ;   141        可见

  • 问题内容: 我需要从3个表中获得不同的值。 当我执行此代码时: 我收到一条错误消息,提示我的“城市”一栏不明确。 我也尝试过这个: 有了这段代码,我的表什么都收不到。 让我向您展示我正在尝试做的事的示例: 我需要得到这样的结果 城市的顺序对我来说并不重要,我只需要拥有所有城市,每个城市应该只有一个代表。 任何的想法?我当时想在中使用,但没有连接,所以我不能使用它。 问题答案: 该关键字将返回结果列

  • 这就是我的问题所在(在MS SQL SMS 2008 R2): 我有两个表: table1和列id1 name1 table2和列id2 name2 我还有第三个临时表,这些表是由导入的xls创建的,列为name1,name2 我希望使用select,这将导致类似于临时表的副本,但使用id1,id2而不是name1,name2。 这可能吗?

  • 问题内容: 我在表Hyperlink中有两列,即源和目标,用于存储超链接的源和目标。 有两个涉及b和c的超链接。两个超链接之间的区别在于超链接的方向。但是,我的目标是无论任何方向都检索唯一的超链接。因此,对于从b到c和从c到b的超链接,我只想选择其中之一。任何人都会做。 因此,我的结果应如下所示: 到目前为止,我可以使用Java进行一些处理,然后再使用JDBC执行SQL语句。但是,当表很大时,这将

  • 问题内容: 上面的代码创建一个带有两个列表框的窗口。但是,如果要从这两个值中检索值,就会出现问题,因为一旦在一个值中选择一个值,它就会取消选择在另一个值中选择的值。 这仅仅是开发人员必须忍受的限制吗? 问题答案: 简短答案:将所有列表框小部件的属性值设置为False或零。 从列表框小部件的pythonware概述中: 默认情况下,选择被导出到X选择机制。如果您在屏幕上有多个列表框,这确实会使可怜的

  • 问题内容: 我有一个名为“工作”的表。对于特定用户,作业可以是活动的,已归档的,过期的,待处理的或已关闭的。现在,每个页面请求都生成5个COUNT查询,为了进行优化,我试图将其减少为单个查询。到目前为止,这是我所拥有的,但这仅比5个单独的查询要快。请注意,我已经简化了每个子查询的条件,以使其更易于理解,但是完整查询的行为相同。 有没有一种方法可以在不使用无效子查询的情况下在同一查询中获得这5个计数