3

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

不幸的是,似乎没有任何类型的包含或模块工具。

4

1 回答 1

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()  );
于 2008-09-18T19:38:43.383 回答