The engine analyzes the constraints to see which property a pattern is
So, it expects something like:
Person( name == "alice" )
If you invoke your custom logic:
Person( myEqualComparator( ..., name, ... ) )
it's unlikely that the engine will recognize that a field is involved
and, even then, that it should react to.
The simplest solution is to force the pattern to react to the field,
Person( myEqual(...), $n : name )
or, in alternative:
Person( myEqual(...) ) @watch( name )
Please let us know if it works for you.
On 05/22/2014 02:49 PM, wtang wrote:
I have rule1 and rule2 and rule1 is modifying an object whose
checked in the when part of rule2 and rule2 should fire.
The problem is rule2 is not firing. When I took out the @PropertyReactive
annotation, then rule2 will fire.
After further investigation, I find the cause is because in the when part I
am calling java function to do the comparison as suppose to using native
operators like "==".
Property Reactive seems to be not working when in the WHEN part of the rules
we are calling java function to do the comparison as suppose to using native
operators like ==, <, >, etc.
View this message in context:
Sent from the Drools: User forum mailing list archive at Nabble.com
rules-users mailing list