`
w800927
  • 浏览: 119986 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

drools 规则引擎 over window:time(1d)的问题

阅读更多

drl文件中定义

 

package com.sample


declare Activity
@role( event )
@timestamp(txTime)
end

 

rule "totaltimessrule"
salience 1
when
$account:Account($accountnumber:accountnumber) from entry-point ActivityStream
$totaltimes:Number(intValue >= 20)from accumulate(
$Activity:Activity() over window:time(1d) from entry-point ActivityStream, count($Activity))
then
System.out.println($accountnumber);
System.out.println(drools.getRule().getName());
end

 

然后在java代码中插入的Activity的txtime(规则引擎的时间戳)全为 2011-6-1

时钟采用realtime实时时钟,执行时间为2011-6-7

采用滑动窗口over window:time(1d)按说应该取自实时时钟2011-6-7当天数据作为活动窗口数据,也就是说没有数据,按说将不会触发该规则,为啥触发了呢,而且每次执行结果具有不确定性

分享到:
评论
2 楼 w800927 2011-06-08  
据说是drools的一个bug
http://drools.46999.n3.nabble.com/Re-Using-Sliding-Time-Window-usage-in-Drools-Fusion-v5-0-1-td415473.html
最后采用了

declare CurrentTime
    @role( event )
end

declare MyEvent
    @role( event )
    @timestamp(eventDateTime)
end

rule "Rule1"
when
    $now: CurrentTime() from entry-point "My Stream"
    //The following should fetch all events occurred in the last 2 seconds)
    $event: MyEvent(this before[2s, 2s] $now) from entry-point "My Stream"
then
    System.out.println($event.getEventName() + ": Event Occured!!!" +      $event.getEventDateTime().toString());
end

作为权宜之计
1 楼 w800927 2011-06-08  
后来改为stream mode还是没有解决,还在解决中

相关推荐

    Drools规则引擎使用demo

    Drools是一款强大的规则引擎,由Red Hat公司开发并维护,它主要用于实现业务规则的管理和执行。Drools提供了一种声明式的方式来定义业务规则,使得非技术人员也能理解和修改规则,从而降低了业务逻辑与代码的耦合度...

    Drools规则引擎从入门到精通

    【Drools规则引擎从入门到精通】 Drools是一个强大的业务规则管理系统,它提供了业务规则引擎、Web创作工具(Drools Workbench)以及决策模型符号(DMN)的支持。作为一个开源项目,Drools使用Java编写,遵循Apache...

    Drools规则引擎从入门到精通源码

    从基础讲起,结合应用场景,由浅到深细化讲解drools规则引擎的的相关知识,并结合具体实例,演示功能的使用和注意事项。后面通过搭建具体的项目并结合springboot框架联合使用Drools的相关知识包括决策表的使用,囊括...

    Drools规则引擎介绍.ppt

    【Drools规则引擎介绍】 Drools是一款由JBoss公司开发的开源规则引擎,它致力于将业务规则从复杂的业务逻辑代码中分离出来,实现业务规则的独立管理和灵活变更。Drools基于Rete算法,这是一套高效的规则匹配算法,...

    从Drools规则引擎到风控反洗钱系统v0.3.2.pdf

    从文档《从Drools规则引擎到风控反洗钱系统v0.3.2.pdf》中,我们可以提取到以下知识点: ### 规则引擎与Drools简介 1. **什么是规则引擎**:规则引擎是一种嵌入在应用程序中的组件,它允许业务决策逻辑从应用程序...

    Drools 规则引擎的介绍及应用

    ### Drools规则引擎的介绍及应用 #### 一、规则引擎概述 规则引擎是一种软件系统,用于执行基于预定义规则的决策逻辑。这些规则通常表示为业务规则,旨在模拟人类专家在解决特定问题时所遵循的逻辑过程。规则引擎...

    Drools规则引擎及教程

    Drools是一款强大的开源规则引擎,它基于Java平台,由JBOSS社区开发,主要用于实现业务规则的管理和执行。在企业应用中,Drools能够帮助开发者将复杂的业务逻辑以规则的形式分离出来,使得业务规则的修改和维护变得...

    drools文档教程-规则引擎文档

    Drools 规则引擎是一种基于 Java 的开源规则引擎,主要用来解决复杂的业务逻辑问题。下面是 Drools 规则引擎在在线申请信用卡业务场景中的应用。 问题引出现有一个在线申请信用卡的业务场景,用户需要录入个人信息...

    规则引擎Drools入门实战案例

    4、规则引擎是相对独立的,只关心业务规则,使得业务分析人员也可以参与编辑、维护系统的业务规则 5、减少了硬编码业务规则的成本和风险 6、使用规则引擎提供的规则编辑工具,使复杂的业务规则实现变得的简单 对于...

    springboot整合Drools规则引擎,实现高效的业务规则

    Drools是一个基于java的规则引擎,开源的,可以将复杂多变的规则从硬编码中解放出来,以规则脚本的形式存放在文件中,使得规则的变更不需要修正代码重启机器就可以立即在线上环境生效。具有易于访问企业策略、易于...

    Drools规则引擎手册.zip

    Drools是一款强大的开源规则引擎,它允许开发者在应用程序中嵌入复杂的业务规则,从而实现逻辑的自动化处理。本手册详细介绍了Drools的核心概念、使用方法和最佳实践,是学习和掌握Drools的宝贵资源。 首先,Drools...

    Drools规则引擎样例系统

    《Drools规则引擎样例系统深度解析》 Drools,这个强大的开源规则引擎,是Java领域中用于实现业务规则管理和决策逻辑的核心工具。它以其高效、灵活和可扩展的特性,在各种复杂的业务场景中得到了广泛应用。在这个名...

    Drools规则引擎实现原理及示例

    Drools规则引擎是一种嵌套在应用程序中的组件, 是用Java语言编写的开放源码规则引擎,使用Rete算法对所编写的规则求值。 它实现了将业务规则从程序代码忠分离出来,规则引擎使用特定的语法编写业务规则,规则引擎...

    Drools规则引擎开发实例+源码

    Drools规则引擎是一款强大的开源规则引擎,广泛应用于业务决策逻辑和复杂事件处理。它基于Java平台,由JBOSS...通过实践案例,你可以深入理解Drools的工作机制,并将其应用到自己的项目中,解决复杂的业务规则问题。

    Drools规则引擎技术分享

    【Drools规则引擎技术分享】 在电商平台上,促销活动的规则制定往往涉及到复杂的业务逻辑。例如,根据用户购买订单的金额赠送相应的积分,不同金额区间对应不同的积分奖励。传统做法是通过Java代码中的if-else结构...

    Drools规则引擎.ppt

    【Drools规则引擎】是一种基于Java的开源规则引擎,由JBoss开发并维护,用于在应用程序中分离和管理业务规则。它允许开发者使用特定的语法编写业务规则,然后在运行时动态处理这些规则,以根据输入数据做出决策。...

    Drools规则引擎介绍PPT及利用Drools实现的信用卡申请审批规则实例

    **Drools规则引擎介绍** Drools 是一个开源的业务规则管理系统(BRMS),它基于Java平台,属于JBoss企业级中间件的一部分。Drools 提供了一个强大的规则引擎,用于执行业务规则,使复杂逻辑得以简洁地表达。它的...

Global site tag (gtag.js) - Google Analytics