Как мы можем разделить отдельные правила между файлами .drl в Правилах JBoss? - PullRequest
3 голосов
/ 18 сентября 2008

Мы используем Правила JBoss (a.k.a. Drools) и имеем несколько .drl файлов, каждый из которых содержит несколько правил. Есть ли способ избежать дублирования между файлами, чтобы мы могли определить общие правила, доступные для более чем одного .drl файла?

К сожалению, похоже, что не включает или модуль.

1 Ответ

2 голосов
/ 18 сентября 2008

Нет способа включить правила из другого файла .drl в файл .drl.

Однако вы можете добавить два файла .drl к одной базе правил, и они будут работать так, как если бы они были в одном файле.

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()  );
...