【发布时间】:2017-07-25 18:00:22
【问题描述】:
我正在使用 Drools 6.2.0
我想将我的规则分为 3 组(FIRST、MAIN、LAST), 并按以下顺序执行:
- 第一
- 主要
- 最后
为此,我在必要的规则中使用了 agenda-group "FIRST" 和 agenda-group "LAST"。其他规则默认属于 MAIN 议程。
我正在使用此代码来指定顺序:
private void configureAgendas() {
Agenda agenda = session.getAgenda();
agenda.getAgendaGroup("LAST").setFocus();
agenda.getAgendaGroup("MAIN").setFocus();
agenda.getAgendaGroup("FIRST").setFocus();
}
我的问题是 MAIN 议程总是在 END 执行。 所以,我要执行两次主要议程:
- 第一
- 主要
- 最后
- MAIN(再次执行。我想跳过最后一次执行)
我怎样才能做到这一点?
如果我无法禁用 MAIN 议程的自动执行, 如何创建将成为最后执行的规则的规则?
注意:我已经尝试使用 salience Integer.MIN_VALUE,但我仍然有在此之后执行 MAIN 议程的规则。
【问题讨论】: