0
在我们公司,我们正在评估Drools作为我们产品的框架。 为此,我正在尝试一些实验和明显我现在不堪重负由很多问题。例如,我不知道如何使事件的持续时间条件。 我不知道是否有先进的LHS条件我可以如何运作
在我们公司,我们正在评估Drools作为我们产品的框架。 为此,我正在尝试一些实验和明显我现在不堪重负由很多问题。例如,我不知道如何使事件的持续时间条件。 我不知道是否有先进的LHS条件我可以如何运作
时间类似的东西
..
when
Event(some conditions, duration > 1h)
then
...
非常感谢像任何其他在你的事件类的成员。当你宣布你的活动,你告诉它的成员是持续时间,像这样:
declare VoiceCall
@role(event)
@timestamp(callDateTime)
@duration(callDuration)
end
持续时间是以毫秒为单位,所以你会有理由反对它在规则中,像这样:
rule "Call Longer Than One Hour"
when
VoiceCall(callDuration > 3600000) // 1000*60*60
then
...
end
Drools的融合manual描述这非常清楚(事实上,我的示例事件声明是直接从它)。
请描述'Event'类,以及它应该做什么。 – aitchnyu 2012-02-18 15:31:03
它将用于标记环境中的变化,例如“检测到的存在”或类似情况。当事件持续时间超过规定的时间时,这些事件中的一些必须收回。在以下我的事件类 '// .. jAXB annotationspublic class Event implements Serializable,Equals,HashCode,ToString {... protected EventType type; //i.e。 PRESSURE_ACTIVATED,PRESENCE ... 受保护的列表科目; //i.e。 ERSON,ROOM ... 保护持续时间长; 保护长期发生; ... get和setter返回默认值的情况下为null –
2012-02-19 10:17:35