当前位置: 首页 > news >正文

使用DrlParser 检测drl文件是否有错误

为避免运行时候错误,drools 7 可以使用DrlParser预先检测 drl文件是否正常。

  • parser 过程通常不会返回异常
  • ruleDescr = parser.parse(resource); 为空代表有异常

具体测试代码如下:

public class DrlParserTest {public static void main(String[] args) {// 定义规则文件内容Resource resource =new ClassPathResource("org/drools/learn/Error.drl");// 使用 DrlParser 解析规则DrlParser parser = new DrlParser();//  RuleDescrBuilder ruleDescrBuilder = new RuleDescrBuilder("ExampleRule");// RuleDescr ruleDescr = null;PackageDescr ruleDescr=null;try {ruleDescr = parser.parse(resource);} catch (DroolsParserException e) {System.err.println("DroolsParserException "+e.getMessage());} catch (IOException e) {System.err.println("IOException "+e.getMessage());}// parser失败 ruleDescr为空if (ruleDescr==null  ){List<DroolsError>  errs = parser.getErrors();errs.forEach( e->{System.err.println("error: "+e.getMessage());});}// 输出解析后的规则描述System.out.println("Parsed Rule: " + ruleDescr);}
}
http://www.lryc.cn/news/250465.html

相关文章:

  • ArcGIS中基于人口数据计算人口密度的方法
  • 在CentOS 8.2中安装Percona Xtrabackup 8.0.x备份MySql
  • javascript中的正则表达式的相关知识积累
  • 51k+ Star!动画图解、一键运行的数据结构与算法教程!
  • 4.7 矩阵的转置运算(C语言实现)
  • 快速掌握Pyqt5的9种显示控件
  • 【WP】Geek Challenge 2023 web 部分wp
  • Elasticsearch:为现代搜索工作流程和生成式人工智能应用程序铺平道路
  • 【WinForm.NET开发】Windows窗体开发概述
  • WPF 简单绘制矩形
  • crui_lvgl 一个LVGL的DSL辅助工具的设想
  • 公共部门生成式人工智能的未来
  • 【报名】2023产业区块链生态日暨 FISCO BCOS 开源六周年生态大会
  • MySQL之性能分析和系统调优
  • 时间复杂度为 O(n^2) 的排序算法 | 京东物流技术团队
  • 关于前端学习的思考-内边距、边框和外边距
  • 【linux】/etc/security/limits.conf配置文件详解、为什么限制、常见限制查看操作
  • Windows系统下更新后自带的画图软件出现马赛克bug
  • [HTML]Web前端开发技术6(HTML5、CSS3、JavaScript )DIV与SPAN,盒模型,Overflow——喵喵画网页
  • SQL练习
  • 创始人于东来:胖东来员工不想上班,请假不允许不批假!
  • C++学习之路(十五)C++ 用Qt5实现一个工具箱(增加16进制颜色码转换和屏幕颜色提取功能)- 示例代码拆分讲解
  • 【STM32】EXTI外部中断
  • Linux系统的常见命令十三,显示系统进程状态、文件权限、修改文件或目录所有者和所属组命令(ps、chmod和chown)
  • Python 批量修改文件名
  • git的基本命令操作超详细解析教程
  • 【代码】两阶段鲁棒优化/微电网经济调度入门到编程
  • 【图论】重庆大学图论与应用课程期末复习资料2-各章考点(填空证明部分)(私人复习资料)
  • 基于Intel® AI Analytics Toolkits的智能视频监控系统
  • 深度学习中的注意力机制:原理、应用与实践