我们如何在JBoss Rules中的.drl文件之间共享单独的规则?

时间:2008-09-18 12:07:09

标签: drools modularization jboss-rules

我们正在使用JBoss Rules(a.k.a. Drools)并拥有多个 .drl 文件,每个文件都包含多个规则。有没有办法避免文件之间的重复,以便我们可以定义可用于多个 .drl 文件的通用规则?

不幸的是,似乎没有任何 include 或模块工具。

1 个答案:

答案 0 :(得分:2)

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