Как мы можем разделить отдельные правила между файлами .drl в правилах JBoss?

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

Вопрос

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

К сожалению, похоже, что не существует какого-либо включать в себя или модульное сооружение.

Это было полезно?

Решение

Невозможно включить правила из другого файла .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()  );
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top