-
drools对事件的处理问题5
public class InternalPayload { static final long EPOCH = 621355968000000000L; static final long TICKS_PER_MS = 10000; public InternalPayload(Payload payload) { this.identifier = payload.identifier; this.step = payload.step; long totalTicks = Long.parseLong(payload.timestamp); Date timestamp = new Date((totalTicks- EPOCH)/TICKS_PER_MS); long str = Long.parseLong(new SimpleDateFormat("dd:MM:YYYY hh.mm.ss.SS").format(timestamp)); this.timestamp = str; } public String identifier; public int step; public long timestamp; public Map<String, Long> speicherMap = new HashMap<String, Long>(); }
rule "step1" when $m:InternalPayload(step==1) from entry-point StoreOne; [color=red]$m.speicherMap.put("timestamp",$m.timestamp); $m.speicherMap.put("identifier",$m.identifier);[/color] then update($m); end rule "step2" when $m:InternalPayload(step==4,identifier==([color=red]$m.speicherMap.get('identifier')[/color])) from entry-point StoreOne; then System.out.println("step ist :"+$m.step+ " deferrent:"+($m.timestamp-[color=red]$m.speicherMap.get("timestamp")[/color])); update($m); end
我想要让identifier相同和step为4的timestamp减去step为1的timestamp。
但是不知道在Rules中怎样存储以及是否可以利用Hashmap来解决。
上面红色的就是用Hashmap但是是错误的。
先谢谢了!2011年12月01日 02:36
目前还没有答案
相关推荐
《Drools:复杂事件处理详解》 Drools,作为一个强大的规则引擎,广泛应用于...以上内容仅是对Drools复杂事件处理的概述,具体细节和操作指南可参考《Drools-Fusion (复杂事件处理)-用户指南-中文.pdf》进行深入学习。
同时,drools 还支持事件驱动的处理模式,可以应用于复杂事件处理(CEP),检测和响应特定的事件序列。 总而言之,drools 是一个强大且灵活的业务规则管理工具,它提供了一套完整的框架来定义、管理和执行业务规则...
Drools的应用场景广泛,常见的有金融风险评估、保险索赔处理、医疗诊断辅助、供应链管理等。通过Drools,企业可以将业务专家的知识转化为可执行的代码,从而实现智能化决策,提高运营效率。 在实际开发中,Drools的...
"Drools技术指南"可能会更深入地探讨上述某些主题,或者涵盖更高级的特性,如事件处理、规则流、决策服务等。它将帮助你掌握Drools的高级用法,并将其应用于实际的业务场景。 总之,这份学习资料提供了全面的Drools...
Drools是Red Hat JBoss BRMS(Business Rules Management System)的一部分,它提供了一种强大的规则引擎,用于处理复杂的业务逻辑。本文将深入探讨drools如何实现动态生成规则文件以及其相关知识点。 一、drools...
总之,Drools实例为我们提供了一个直观的学习平台,通过GOLF和EmployTest,我们可以掌握如何利用Drools解决实际问题,包括逻辑决策和自动化计算。这对于我们理解规则引擎的运作机制,以及在实际项目中应用Drools来...
Drools Fusion是Drools项目的一部分,它专注于实时事件处理和复杂事件处理(CEP),在Java环境中为业务决策提供强大支持。Drools Fusion结合了规则引擎和流处理的能力,使得开发者能够处理大量实时数据,检测模式并...
- **事件处理(Complex Event Processing, CEP)**:监控和响应实时事件流。 7. **最佳实践**: - 分离规则定义和业务逻辑,保持规则的独立性。 - 规则的粒度应适中,避免过于复杂或过于简单的规则。 - 使用...
8. **事件处理**:如果教程涵盖,还会介绍Drools的事件处理机制,包括如何定义和处理事件,以及基于事件的规则触发。 在"DroolsDemo"这个示例项目中,你可能可以实践以下内容: 1. **示例代码**:通过实际的Java...
2. 事件驱动:Drools可以处理实时事件,如股票价格变动、传感器数据等,进行实时决策。 3. 与Spring集成:Drools可以方便地与Spring框架集成,实现业务逻辑的灵活配置。 4. 性能优化:Drools提供了一套高效的规则...
Drools融合了规则引擎、工作流引擎和事件处理引擎,广泛应用于金融、保险、电信等行业的规则驱动系统。 1. **Drools简介** Drools的核心概念是规则引擎,它允许程序员编写业务规则,这些规则可以在运行时动态地...
7. **事件处理**: Drools7支持CEP(Complex Event Processing),可以处理实时事件并根据预定义的模式触发规则。 8. **决策模型和表示法(DMN)**: Drools7支持DMN标准,允许用户使用图形化的工具来创建决策...
Drools Fusion通过事件处理模式、会话时钟、滑动窗口和时间推理等方式,提供对复杂事件流的处理和分析。 Drools支持JMX(Java Management Extensions)监视,使得规则引擎的运行状态可以通过JMX兼容的监视工具来...
综上所述,Drools 5.1是一个全面的业务规则解决方案,它不仅提供了一套完善的规则引擎,还涵盖了流程管理、事件处理和优化算法等多个方面。随着版本的迭代,Drools不断引入新的特性和改进,旨在更好地服务于日益复杂...
而事件处理允许Drools响应来自不同来源的事件,模式匹配则是Drools在匹配规则时使用的强大机制。 在使用Drools进行开发时,开发者的另一个重要任务是进行规则的测试和验证。Drools提供了一套内置测试框架,允许...
- **事件监听器**(Event Listeners):讲解了如何使用 Spring 的依赖注入功能来配置 Drools 事件监听器,以便于监控 Drools 会话的状态变化,例如规则触发前后的事件。 #### 三、Drools Server ##### 3.1 简介 ...
同时,Drools的工作内存还支持事件驱动,可以对特定的事件做出响应。 事实对象是业务规则中的数据实体,它们是规则匹配和执行的基础。开发者需要定义这些对象,并将它们实例化后插入到工作内存中,以便Drools可以...
Drools Workbench是Drools的一部分,它是一个基于Web的集成开发环境,用于创建、测试和部署Drools规则以及复杂的事件处理(CEP)流。这个工作台提供了直观的用户界面,允许业务分析师和规则开发者进行规则的创建、...
Drools 是一个开源的Java决策管理平台,它允许开发者使用规则语言来编写业务逻辑,这些规则可以按特定顺序执行,以处理复杂的业务场景。 在 Drools 中,规则的执行顺序主要由以下因素决定: 1. **规则优先级**:...
Drools 是一个开源的规则引擎,主要用于决策管理和业务逻辑处理。它基于Java,遵循JBoss社区的开发,并被广泛应用于金融、保险、电信等行业。 **1. Drools 简介** Drools 提供了一个强大的规则引擎,支持声明式编程...