数据中存储了一些属性信息,是否可以将数据库表中的内容导入到Drools Guvnor中,成为决策表?

原则上说:数据库存储规则文件或规则模板,与Drools Guvnor中编辑规则文件或模板是两套系统。可以理解为Drools Guvnor是一套编辑器。因此,两者并不能够很好的进行兼容。

如果想在数据库中维护规则,可以看看如下规则模板相关的内容:

http://docs.jboss.org/drools/release/6.0.1.Final/drools-docs/html_single/index.html#d0e4969

规则模板提供了一种相对简单的方式来合并DRL和数据。

通过组合数据库和模板的形式来创建规则,需要引入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创建一个package,然后添加生成DRL文件到package当中。



Drools规则引擎中数据库与规则模板生成DRL规则文件插图

关注公众号:程序新视界,一个让你软实力、硬技术同步提升的平台

除非注明,否则均为程序新视界原创文章,转载必须以链接形式标明本文链接

本文链接:http://www.choupangxia.com/2021/12/28/drools-db-rule-template-to-drl/