Is there any way I can get back the Integer value updated in Drools rule. I am passing the string in my rule. I can see my rule running but I am not getting the updated global variable's value. Here is my Drools rule file :
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
I have also tried this : kcontext.getKieRuntime().setGlobal("delayInSeconds" , 10); but no luck :(
I know I can pass this variable by setting in POJO. So just wanted to confirm if there is any way by we can get updated value using global Integer. Please suggest.
For me this worked
drools.getKnowledgeRuntime().setGlobal(String, Object);
Eg.
drools.getKnowledgeRuntime().setGlobal("delayInSeconds", Integer.valueOf(10));
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With