我们如何在 JBoss 规则中的 .drl 文件之间共享单独的规则?
-
01-07-2019 - |
题
我们正在使用 JBoss 规则 (又名流口水)并有几个 。博士升 每个文件都包含多个规则。有没有一种方法可以避免文件之间的重复,以便我们可以定义可供多个文件使用的通用规则 。博士升 文件?
不幸的是,似乎没有任何类型的 包括 或模块设施。
解决方案
无法在 .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