Wie können wir einzelne Regeln zwischen .drl Dateien in JBoss Rules teilen?
-
01-07-2019 - |
Frage
Wir verwenden JBoss Rules (aka Drools) und haben mehrere .drl Dateien, die jeweils mehrere Regeln enthalten. Gibt es eine Möglichkeit Überschneidungen zwischen Dateien zu vermeiden, so dass wir gemeinsame Regeln definieren können, die verfügbar sind, um mehr als ein .drl Datei?
Leider scheint es nicht jede Art von ist oder Modul-Anlage zu sein.
Lösung
Es gibt keinen Weg von Regeln aus einer anderen .drl Datei aus einer .drl Datei enthält.
Sie können jedoch zwei .drl Dateien auf demselben RuleBase hinzufügen und sie arbeiten, als ob sie in der gleichen Datei waren.
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() );
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow