Database 是否可以将数据库表作为决策表导入Drools Guvnor?

Database 是否可以将数据库表作为决策表导入Drools Guvnor?,database,drools,guvnor,Database,Drools,Guvnor,我们将定期在此数据库表中输入数据,我想知道是否有可能将此数据及时导入Drools Guvnor?如果您想在数据库表中维护规则,那么您应该查看规则模板: 规则模板为将DRL与数据合并提供了一种相对简单的机制 FWIW-手册中关于这方面的文档很差,因此这里有一个关于您需要做的事情的提示: 要从数据库数据和模板的组合生成规则,需要导入org.drools.template.jdbc.ResultSetGenerator。此类可用于从数据库查询结果集和模板生成DRL代码 // Get results

我们将定期在此数据库表中输入数据,我想知道是否有可能将此数据及时导入Drools Guvnor?

如果您想在数据库表中维护规则,那么您应该查看规则模板:

规则模板为将DRL与数据合并提供了一种相对简单的机制

FWIW-手册中关于这方面的文档很差,因此这里有一个关于您需要做的事情的提示:

要从数据库数据和模板的组合生成规则,需要导入
org.drools.template.jdbc.ResultSetGenerator
。此类可用于从数据库查询结果集和模板生成DRL代码

// Get results from your DB query...
resultSet = preparedStmt.executeQuery();
// Generate the DRL...
resultSetGenerator = new ResultSetGenerator();
String drl = resultSetGenerator.compile(resultSet, 
         new FileInputStream("path/to/template.drt"));

然后通过API创建一个包,并将生成的DRL添加到包中。

您能说得更具体些吗?您想通过数据库控制整个逻辑还是只控制决策表的“属性”?可以从Drools直接连接到DB,也可以简单地根据DB中的数据将事实插入工作内存—没有现成的东西。同样,这样做也没有意义,因为在Guvnor中拥有决策表的唯一原因是为了能够在Guvnor中对其进行编辑。每次更新数据库表时,您都会替换所有编辑。嗨,我只想存储决策表的“属性”。我理解这样做的缺点,但客户端不想使用Guvnor的界面来编辑规则。是的,我们尝试使用规则模板并在Drools中手动上传它们。有没有办法在Guvnor中自动输入这些电子表格中的数据?我更喜欢直接从数据库输入,客户端只需通过一个接口进行更新,但我对任何选项都持开放态度。问题是它们不应该在Guvnor中。Guvnor不是运行时环境。这是一个编辑规则的地方。因此,如果您打算在数据库表中维护规则,那么这些规则不应该在Guvnor中。我理解您的观点。唯一的问题是,有大量可用数据的组合,在Guvnor的界面中很难管理。我显然不是这方面的专家,这可能就是为什么我很难理解什么可以进入Guvnor,什么不能进入Guvnor。你可以在Guvnor中创建的“规则模板”与“专家”规则模板完全不同。或者至少,你如何使用它们是完全不同的。我在上面添加了一些示例代码,演示了如何从数据库结果集和“专家”模板生成DRL。我将对此进行研究。非常感谢您的帮助。