Как мы можем разделить отдельные правила между файлами .drl в правилах JBoss?
-
01-07-2019 - |
Вопрос
Мы используем Правила 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() );
Не связан с StackOverflow