Случайная группа повестки дня сфокусироваться

Я создал два разных правила, которые относятся к двум разным группам повестки дня. Первый:

rule "32-30-33.32"
dialect "java"
salience 0
agenda-group "32-30"
when
    map : Map((this["Product Name"].toUpperCase().contains("PREMIUM ADPRODUCT")) && ((this["Size Length"] != 5) || (this["Size"].toUpperCase() not contains "300X600") || (this["Size"].toUpperCase() not contains "280X130") || (this["Size"].toUpperCase() not contains "300X250") || (this["Size"].toUpperCase() not contains "970X250") || (this["Size"].toUpperCase() not contains "320X50")));
then
    JSONObject jObject = new JSONObject("{\"error34\":\"Premium Adproduct doesn't contain required Creative size!\"}");
    Iterator<?> keys = jObject.keys();
     while(keys.hasNext()) {
          String key = (String)keys.next();
          Object value = jObject.get(key);
          map.put(key, value);
     }
    debug(drools);
end

Еще одно правило, в другой группе повестки дня:

rule "47-37-1.0"
dialect "java"
salience 0
agenda-group "47-37"
when
    map : Map((this["OrderName"] == null));
then
    JSONObject jObject = new JSONObject("{\"error1\":\"OrderName should not be null \"}");
    Iterator<?> keys = jObject.keys();
     while(keys.hasNext()) {
          String key = (String)keys.next();
          Object value = jObject.get(key);
          map.put(key, value);
     }
    debug(drools);
end

После этого я поставил фокус на группу "47-37",

kieSession.getAgenda().getAgendaGroup("47-37").setFocus();

Все правила в группе "32-30" также оцениваются. Я использую Drools 7.0.0. Как я могу контролировать выполнение правил только внутри целевой группы?


person lucifer    schedule 06.11.2019    source источник
comment
Отвечает ли это на ваш вопрос? понимание группы повестки дня в слюнях   -  person Prog_G    schedule 12.11.2019
comment
Дублирующиеся вопросы. вы можете найти объяснение здесь[1] [1]stackoverflow.com/a/9535813/7726319.   -  person Prog_G    schedule 12.11.2019
comment
@Prog_g Это не отвечает. Как не допустить, чтобы другое правило в другой группе не оценивалось, если оно не сфокусировано?   -  person lucifer    schedule 13.11.2019
comment
Вы можете разделить сеансы или использовать точку входа. См. docs.jboss.org/drools/ release/7.7.0.Final/drools-docs/ для точки входа   -  person Prog_G    schedule 13.11.2019
comment
Насколько я знаю, вы не можете разделить правила на уровне сеанса, он берет все правила из вашей KieBase.   -  person lucifer    schedule 13.11.2019
comment
вы можете создать несколько разделов (точек входа) в сеансе drool. События и правила внутри каждой точки входа индивидуальны. Я думаю, вы хотите того же, что вы упомянули в своем вопросе.   -  person Prog_G    schedule 13.11.2019