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.

War es hilfreich?

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