Comment pouvons-nous partager des règles individuelles entre des fichiers .drl dans JBoss Rules?

StackOverflow https://stackoverflow.com/questions/91917

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.

Était-ce utile?

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
scroll top