A rule engine will reason upon all the facts that are in its working memory,
no matter what facts are in there. Therefore, it can not natively know
whether it has "enough" facts, neither does it (natively) know which facts
are missing. Call fire all rules, the engines starts thinking and will stop
thinking from the moment there are no more rules that are matching. Whether
the "results" make sense or not... well, it actually doesn't care.
In theory, you should provide all necessary facts before calling the rule
engine. I.e. add a task/step before calling the engine to collect all
missing facts.
In practice, you are able to "hack the philosophy", as the THEN part of a
rule is pure JAVA code, you can pretty much do what you want and add a
rule/rules that go after the required inputs (WHEN not veryImportantObject()
THEN getMyVeryImportantObject();END
Does this make sense to you?
Regards,
Frank
rchemisa wrote:
Ty so much for answering FrankVhh,
I dont understand if you can stop the process (just wait) in the Rule Set
waiting to be inserted in the session some fact that makes the rules
associated conditions are met (the result of the conditions true)
So, the "Rule Set" act as a Wait State but may outsource the rules in the
drl.
Regards
--
View this message in context:
http://drools.46999.n3.nabble.com/RuleSet-RuleFlowGroup-tp3165058p3166451...
Sent from the Drools: User forum mailing list archive at
Nabble.com.