У меня есть требование связать правило окна с правилом окна. Мой вариант использования:
Если значение температуры> 50 в 5-минутном окне больше 10, найдите максимальное (среднее) значение температуры в этой оконной раме или любое другое правило цепи в данных этого окна.
Я попробовал следующий подход:
query getFactFromMemory(long time)
$fact : Fact(timepoing < (drools.getWorkingMemory().getSessionClock().getCurrentTime() + time))
end
rule "window rule"
when
//condition
then
//action
end
rule "chain rule"
when
//condition
then
getFactFromMemory(1000L)
//loop over facts and then perform some action
end
Я получаю ошибки при вызове запроса. Я попытался вызвать запрос в части и присвоить его переменной, но это также выдало ошибку (Query's must use positional or bindings, not field constraints:1000L
и Query binding is not supported by non-abductive queries : $variable
).
Может кто-нибудь помочь мне решить эту ошибку или предложить какой-либо другой подход к проблеме?