[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