All,
I have a situation where I want the rules execution to stop processing
immediately when it encounters a situation like the following:
rule "Invalid RTV Line"
salience 100
when
rtvDetailLine : DetailLine(detailRtvNumber:rtvNumber != null,
lineNumber != null )
rtvHeader : RtvHeader( rtvNumber != detailRtvNumber )
then
logger.debug("Invalid RTV Line");
throw new RuntimeException("Invalid RTV Line");
end
Basically this is a parent child relationship and under some circumstances
the process that feeds data into the rules it corrupts this relationship. I
want to stop the rules process immediately and do nothing further. As you
see above, my first attempt is just throw a runtime exception that is
caught/ logged and report by the calling program. Does this seem like a
reasonable approach or is there a better approach to do this?
Ron