Pergunta

Estamos usando JBoss Rules (aka Drools) e têm vários .drl arquivos que cada uma contém várias regras. Existe uma maneira de evitar a duplicação entre os arquivos, para que possamos definir regras comuns que estão disponíveis para mais de um .drl arquivo?

Infelizmente, não parece haver qualquer tipo de incluir ou instalação do módulo.

Foi útil?

Solução

Não há nenhuma maneira de incluir regras de outro arquivo .drl de dentro de um arquivo .drl.

No entanto, pode adicionar dois arquivos .drl ao mesmo ruleBase e eles vão trabalhar como se estivessem no mesmo arquivo.

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()  );
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top