将drools引导决策表编译成规则

Posted

技术标签:

【中文标题】将drools引导决策表编译成规则【英文标题】:Compile drools guided decision table into rules 【发布时间】:2015-08-03 09:46:42 【问题描述】:

我想知道如何使用 Drools 运行时在 Java 应用程序中使用 Drools Workbench 中的引导决策表。这个想法是,用户将在工作台中定义规则、流程和一些决策表,这些将被 drools 运行时拾取。

不过,出于某种原因,我无法弄清楚如何在 drools 中执行此操作,因为它将表存储为 gdst 文件,并且似乎无法编译为 drools。

使用流口水,有没有办法: - 像使用 excel 决策表一样执行 gdst 文件? - 还是在规则中编译一个gdst文件?

我一直在寻找解决方案,但找不到具体的例子...:/

【问题讨论】:

【参考方案1】:

好的,基本上,我们可以很容易地从引导决策表中生成流口水规则。例如:

// load the data from the GDST file, for example:
String decisionTableXml = new String ( 
  Files.readAllBytes( 
    Paths.get("./someDecisionTable.gdst") ) );

// parse the table model
GuidedDecisionTable52 model = GuidedDTXMLPersistence.getInstance().unmarshal( decisionTableXml );

// compile it into drools rules
String droolsRules = GuidedDTDRLPersistence.getInstance().marshal( model );

// next, save droolsRules into a file and/or load it into drools as a normal rule

这是指导决策表的一个简单示例,但决策树可能存在相同的实用程序,... 从那里,您可以使用 Drools Expert 运行时编排任何 Drools Workbench 资产。更好的解决方案总是受欢迎的;)

【讨论】:

ps:drools-workbench-models-guided-dtable 是您要为此导入的 maven 依赖项。 如何将 drl 文件转换为指导决策表?逆转? @凯文

以上是关于将drools引导决策表编译成规则的主要内容,如果未能解决你的问题,请参考以下文章

在drools excel决策表中声明对象

drools 决策引擎介绍开发

什么时候使用规则引擎drools

开源业务规则引擎JBoss Drools

决策树和规则引擎 (Drools)

规则引擎Drools示例:个人所得税计算器信用卡申请保险产品准入规则