[rules-users] Decision Tables: Probelm with sequence=true

Mark Proctor mproctor at codehaus.org
Wed Aug 8 14:40:09 EDT 2007


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 at lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/rules-users
>
>   




More information about the rules-users mailing list