Вы можете использовать AgendaFilters для этого.
Вот как вы его установите:
StatelessSession session = ruleBase.newStatelessSesssion();
session.setAgendaFilter( new RuleNameMatches("<regexp to your rule name here>") );
Это позволит использовать только одно правило с указанным именем.
В вашем случае вам нужно написать собственный AgendaFilter:
public class CustomAgendaFilter extends AgendaFilter{
private final Set<String> ruleNamesThatAreAllowedToFire;
public CustomAgendaFilter(Set<String> ruleNamesThatAreAllowedToFire){
this.ruleNamesThatAreAllowedToFire=ruleNamesThatAreAllowedToFire;
}
boolean accept(Activation activation){
return ruleNamesThatAreAllowedToFire.contains(activation.getRule().getName());
}
}