For a rule with conditions like the above, the second part this["clicks"] + this["visits"] > 500 throws an exception if any of the parameters are missing in the HashMap. When an exception is thrown in any of the rules in a kie session, the whole kie session gets terminated without any further execution or rule outcome.
Scenario 2:
m : HashMap( Double.parseDouble(this["visits"]) > 500 )
Here, if the visits param is null, then there will be an exception thrown from the rule and the whole kie session will be affected.
Drl definition
Scenario 1: m : HashMap( this["age"] > 14 && this["clicks"] + this["visits"] > 500 )
For a rule with conditions like the above, the second part this["clicks"] + this["visits"] > 500 throws an exception if any of the parameters are missing in the HashMap. When an exception is thrown in any of the rules in a kie session, the whole kie session gets terminated without any further execution or rule outcome.
Scenario 2: m : HashMap( Double.parseDouble(this["visits"]) > 500 )
Here, if the visits param is null, then there will be an exception thrown from the rule and the whole kie session will be affected.
Scenario one is available in Drools sample app