Je travaille sur une exigence sur la mise à jour de la règle de manière dynamique. J'ai scheduler qui choisit des règles de DB une fois dans chaque heure. L'exigence consiste à rejeter entièrement les règles précédemment chargées avec le nouvel ensemble de règles lu par DB.Drools mise à jour dynamique des règles
Actuellement, j'ai initialisé le système de fichiers et cela est réinitialisé chaque fois que le planificateur lit les règles à chaque fois.
private KieServices kieServices = KieServices.Factory.get();
private KieFileSystem kieFileSystem = kieServices.newKieFileSystem();
public reinitialize() {
kieServices = KieServices.Factory.get();
kieFileSystem = kieServices.newKieFileSystem();
}
Mais je ne suis pas sûr si c'est une bonne approche. Ce que j'ai lu de la documentation de Drools, c'est que les règles sont écrites en tant que bibliothèque avec un fichier POM. Je ne suis pas sûr si cette approche se terminera avec beaucoup de système de fichiers en mémoire et au système de fin sera très lent.
Quelqu'un peut-il suggérer la bonne façon de remplacer dynamiquement les anciennes règles par de nouvelles règles?