Comment pouvons-nous partager des règles individuelles entre des fichiers .drl dans JBoss Rules?
-
01-07-2019 - |
Question
Nous utilisons les règles JBoss (alias Drools) et plusieurs .drl fichiers contenant chacun plusieurs règles. Existe-t-il un moyen d’éviter les doubles emplois entre fichiers afin de pouvoir définir des règles communes applicables à plusieurs fichiers .drl ?
Malheureusement, il ne semble y avoir aucune sorte de include ou de module.
La solution
Il est impossible d'inclure des règles d'un autre fichier .drl à partir d'un fichier .drl.
Vous pouvez cependant ajouter deux fichiers .drl à la même base de règles et ils fonctionneront comme s'ils se trouvaient dans le même fichier.
PackageBuilder builder = new PackageBuilder();
builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "common.drl" ) ) );
builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "rules1.drl" ) ) );
RuleBase ruleBase = RuleBaseFactory.newRuleBase();
ruleBase.addPackage( builder.getPackage() );
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow