As the docs state sequential rete, I'm assuming this is what you mean, does not allow full inference modification of data does not result in re-evaluation of rules, i.e. update() does nothing.

You can achieve what you want using a custom Conflict Resolution Strategy, however I advise you to be careful here and understand exactly what you are asking for....
RuleBaseConfiguration has a property:
public void setConflictResolver(ConflictResolver conflictResolver);

RuleBaseConfiguration conf = new RuleBaseConfiguration();
conf.setConflictResolver( new LoaderOrderConflictResolver() );

Or you can use the property, with the value of the fully qualified class:
drools.conflictResolver = org.drools.conflict.LoaderOrderConflictResolver

However for the property version I made a mistake.... I forgot to add the getInstance() method, which is needed for the property loading to work. I suggest you subclass LoadOrderConflictResolver and add the getInstance method and specify that, if you use the property approach. I'll fix this for 4.0.1

Mark


Arjun Dhar wrote:
Hi,
I usually use decision tables without sequence. But there was a request Not to use priority and if there was a conflict then the rule on top should get priority.

I thought, sequence = true was a good way of ensuring that. But in the rules I call update(); this forces all the rules to fire twice.

I think this is a bug; without sequence the update does not cause such problems.

Please advise,
Arjun

_______________________________________________
rules-users mailing list
rules-users@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/rules-users


_______________________________________________
rules-users mailing list
rules-users@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/rules-users

Reply via email to