如何在Drools中打印从Excel执行的规则

时间:2018-07-17 19:13:26

标签: java drools

我正在为Drools引擎使用无状态会话来执行规则。 我正在从excel中读取规则,我想打印以下输出。基本上,规则执行的每个步骤都在做什么。 例如

rule "Somerule_1"
            when
                          somecondition
            then
                     set some value

结束

Drools代码:

StatelessKieSession kSession = kieContainer.newStatelessKieSession("ksession-name");
    SomeObject so = new SomeObject();
    so.setValue(someValue);
   kSession.execute(so);

我如何打印此类输出?

1 个答案:

答案 0 :(得分:0)

听起来您想查看从电子表格生成的drl。 SpreadsheetCompiler将xls编译为drl。

import org.drools.decisiontable.SpreadsheetCompiler;    

FileInputStream fis = new FileInputStream("your xls file");
SpreadsheetCompiler sc = new SpreadsheetCompiler();
String drl = sc.compile(fis, InputType.XLS);

这将以以下格式生成您的xls规则:

rule "Somerule_1"
            when
                          somecondition
            then
                     set some value