Infinite recursion is a typical problem when we are working with Drools (and possibly any other rule engine). The inference mechanism going on inside Drools requires rules to be re-evaluated and executed as needed. This powerful feature about rule engines could be really beneficial some times, but some other times it could be a really PITA. I’ll try to analyse in this post the origins of this recursion and the most common ways we have to deal with them in Drools: control fields, control facts, rule attributes and Fine grained property change listeners.
View original post 3,184 more words