LHS条件关于我的持续时间如何

时间:2012-02-17 17:20:18

标签: jboss drools rule-engine rule drools-fusion

在我们公司,我们评估Drools作为我们产品的框架。 为此,我正在尝试一些实验,而显然我现在已经被很多问题淹没了。 例如,我不知道如何使事件的持续时间成为条件。 我不知道是否有类似的东西

.. 
when
 Event( some conditions, duration > 1h)
then
...

非常感谢高级

1 个答案:

答案 0 :(得分:0)

持续时间是您的活动类别中的任何其他成员。当您声明事件时,您可以告诉它哪个成员的持续时间如下:

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 Fusion manual非常清楚地描述了这一点(事实上,我的示例事件声明直接来自它)。