我想知道如何使用drools运行时在Java应用程序中使用Drools Workbench的指导决策表。我们的想法是,用户可以在工作台中定义规则,流程和一些决策表,这些表将由drools运行时获取。
仍然,出于某种原因,我无法弄清楚如何在drools中执行此操作,因为它将表存储为gdst文件,并且似乎无法编译为drools。
有了drools,有没有办法: - 像使用excel决策表一样执行gdst文件? - 或者在规则中编译gdst文件?
我一直在寻找解决方案,但找不到具体的例子......:/
答案 0 :(得分:5)
好的,基本上,我们可以很容易地从指导决策表中生成drools规则。例如:
// 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资产。总是欢迎更好的解决方案;)