代码之家  ›  专栏  ›  技术社区  ›  Peter Hilton

如何在jboss规则中共享.drl文件之间的单个规则?

  •  3
  • Peter Hilton  · 技术社区  · 16 年前

    我们正在使用 JBoss Rules (A.K.A.流口水)并且有几个 DRL 每个包含多个规则的文件。有没有一种方法可以避免文件之间的重复,以便我们可以定义多个可用的通用规则 DRL 文件?

    不幸的是,似乎没有 包括 或模块设施。

    1 回复  |  直到 16 年前
        1
  •  2
  •   Spike    16 年前

    无法将其他.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()  );
    
    推荐文章