我们正在使用 JBoss Rules (A.K.A.流口水)并且有几个 DRL 每个包含多个规则的文件。有没有一种方法可以避免文件之间的重复,以便我们可以定义多个可用的通用规则 DRL 文件?
不幸的是,似乎没有 包括 或模块设施。
无法将其他.drl文件中的规则包含在.drl文件中。
但是,您可以将两个.drl文件添加到同一个RuleBase中,它们的工作方式就像它们在同一个文件中一样。
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() );