J'utilise Drools 6.2.0Comment supprimer le focus par défaut de l'agenda MAIN, dans Drools?
Je veux regrouper mes règles en 3 groupes (FIRST, MAIN, DERNIER), et de les exécuter dans cet ordre:
- PREMIER
- MAIN
- DERNIER
Pour ce faire, j'utilise groupe de l'ordre du jour "FIRST" et agenda-groupe "LAST" dans les règles nécessaires. Les autres règles, par défaut, appartiennent à l'ordre du jour MAIN.
J'utilise ce code pour spécifier l'ordre:
private void configureAgendas() {
Agenda agenda = session.getAgenda();
agenda.getAgendaGroup("LAST").setFocus();
agenda.getAgendaGroup("MAIN").setFocus();
agenda.getAgendaGroup("FIRST").setFocus();
}
Mon problème est que l'ordre du jour MAIN est toujours exécuté à la fin. Donc, je vais avoir l'ordre du jour principal exécuté deux fois:
- PREMIER
- MAIN
- DERNIER
- MAIN (Exécuté à nouveau, je veux sauter cette dernière exécution.)
Comment puis-je réaliser ceci?
Si je ne peux pas désactiver cette exécution automatique de l'ordre du jour principal, comment puis-je créer une règle qui sera la dernière règle à être exécutée?
Note: J'ai déjà essayé avec saillance Integer.MIN_VALUE, mais j'ai encore des règles d'ordre MAIN en cours d'exécution après celle-ci.
Merci @laune, je ne m'attendais pas à ce comportement aussi. Et mon problème est pire, parce que je ne peux pas changer les cent autres règles, parce qu'elles sont toujours créées dans la base de données de production, etc. Donc, je dois travailler avec des règles dans l'ordre du jour MAIN + minages – Topera
Ajouté un autre truc pour éviter de tomber en MAIN. – laune