2008-09-18 8 views
3

우리는 JBoss Rules (a.k.a. Drools)을 사용하고 각각 몇 가지 규칙을 포함하는 몇 가지 파일이 있습니다. .drl 파일간에 중복을 피할 수있는 방법이 있습니까? 하나 이상의 .drl 파일에서 사용할 수있는 일반적인 규칙을 정의 할 수 있습니까?JBoss Rules에서 .drl 파일간에 개별 규칙을 어떻게 공유 할 수 있습니까?

불행히도 에는 또는 모듈 기능이 포함되지 않습니다.

답변

2

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