Есть ли способ вернуть значение Integer, обновленное в правиле Drools. Я передаю строку в своем правиле. Я вижу, что мое правило работает, но я не получаю значение обновленной глобальной переменной. Вот мой Drools править файл:Глобальная переменная в правиле Drools
import com.MessageType;
global java.lang.Integer delayInSeconds;
rule "Delay for Update"
when
String(this == MessageType.UPDATE.getType())
then
System.out.println("Running delay rule.....");
delayInSeconds = 10;
update(delayInSeconds); // This gives me runtime error. If I remove it I dont get error but dont get updated value.
end
Я также попытался это:. kcontext.getKieRuntime() setGlobal ("delayInSeconds", 10); но не повезло :(
Я знаю, что могу передать эту переменную, установив в POJO. Так что просто не хотел, чтобы подтвердить, есть ли способ, с помощью мы можем получить обновленные значения с использованием глобальной Integer. Пожалуйста, предложите.
Спасибо за ответ. Я просто использовал это kcontext.getKnowledgeRuntime(). SetGlobal («delay, 10»); Я напрямую обращался к переменной. Мне пришлось использовать kSession.getGlobal («delay»). – rishi