LHS условие о продолжительности, как я могу - PullRequest
0 голосов
/ 17 февраля 2012

В нашей компании мы оцениваем Drools как основу для наших продуктов. Для этого я пытаюсь провести несколько экспериментов и очевидно Я сейчас перегружен множеством проблем. Например, я не знаю, как сделать условие о продолжительности события. Я не знаю, есть ли что-то похожее на

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

Большое спасибо в продвинутом

1 Ответ

0 голосов
/ 27 февраля 2012

Продолжительность - член, как и любой другой в вашем классе событий. Когда вы объявляете свое событие, вы сообщаете ему, какой из участников является продолжительностью, например:

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 описывает это довольно четко (фактически, мой пример объявления события взят непосредственно из него).

...