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