LHS условие о продолжительности, как я могу

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

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

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

1 ответ

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

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

Другие вопросы по тегам