记一次drools比较隐晦的问题
初次使用drools规则引擎运行如下规则时,看不到任何异常,并且正常返回规则事实证据以及结果,但是发现一个问题,我明明写的是证据是命中当前贷款有逾期....,结果确发现拿到了上一条执行的证据,各种排查后发现drools规则中对于null无法判断,也就是下面第一个规则不起作用,当执行第二个规则时,由于事实中overdueAmt 字段为null,应该是导致了内部错误,但实际项目没有任何异常信息,把null重新赋值为0则解决了此问题,还有些drools也是不支持的,如果除法 / 。特此记录一下:
package com.XXX.rules;
import com.XXX.autoapproval.fact.bndata.BnData;
rule "overdueAmt-为null"
when $p:BnData(overdueAmt == null)
then $p.setResult("AGREE_CONTRACT");
$p.setEvidence("命中当前贷款有逾期金额大于0的拒绝规则["+$p.getOverdueAmt()+"];自动通过");
retract($p);
end
rule "overdueAmt-大于0"
when $p:BnData(overdueAmt < 0)
then $p.setResult("AGREE_CONTRACT");
$p.setEvidence("命中当前贷款有逾期金额大于0的拒绝规则["+$p.getOverdueAmt()+"];自动通过");
retract($p);
end
rule "overdueAmt-小于0"
when $p:BnDataPboc(overdueAmt > 0)
then $p.setResult("REJECT");
$p.setEvidence("命中当前贷款有逾期金额大于0的拒绝规则["+$p.getOverdueAmt()+"];自动拒绝");
retract($p);
end
记一次drools比较隐晦的问题相关推荐
- Drools 7.4.1.Final参考手册(六) 用户手册
用户手册 基础 无状态的知识Session Drools规则引擎拥有大量的用例和功能,我们要如何开始?你无须担心,这些复杂性是分层的,你可以用简单的用例来逐步入门. 无状态Session,无须使用推理 ...
- Drools如何使用规则流bpmn2
最近项目用到了规则流踩了一些小坑,特以记录. 代码写好了再放到规则文件中,规则流最好一步一步画,因为错了就给你抛看不懂没意义的异常. 所有的包包括List这种都得引. 我自己也一知半解,本文都是一些小 ...
- 张小龙的微信帝国诞生记
2010年11月20日这一天,在广州,一个六七人的产品小组正式组建.2011年10月1日,这个产品小组的一款产品登上了中国移动互联网即时通讯工具软件第一的位置. 这款产品叫"微信" ...
- “独裁”的张小龙和他的微信帝国诞生记
2010年11月20日这一天,在广州,一个六七人的产品小组正式组建.2011年10月1日,这个产品小组的一款产品登上了中国移动互联网即时通讯工具软件第一的位置. 这款产品叫" 微信" ...
- 开源规则引擎 drools
前言 在很多企业的 IT 业务系统中,经常会有大量的业务规则配置,而且随着企业管理者的决策变化,这些业务规则也会随之发生更改.为了适应这样的需求,我们的 IT 业务系统应该能快速且低成本的更新.适应这 ...
- Drools 规则学习
Drools 规则学习 在 Drools 当中,一个标准的规则文件就是一个以".drl"结尾的文本文件,由于它是一 个标准的文本文件,所以可以通过一些记事本工具对其进行打开.查看和 ...
- 挨踢人生路--记我的10年18家工作经历 - 后记
挨踢人生路--记我的10年18家工作经历 - 前言 挨踢人生路--记我的10年18家工作经历 - 从大学说起――不得不说的一些事情 挨踢人生路--记我的10年18家工作经历 - 第1家公司,在老家的工 ...
- java 头尾 队列_记一次腾讯面试,我挂在了最熟悉不过的队列上
前记 面试官问:你了解队列和链表的区别吗? 我:了解,blabla 面试官又问:你能自己实现队列吗?具体讲讲怎么实现? 我当时说了用链表来实现队列的存储,并实现push和pop的操作,但回答的不具体, ...
- geany怎么创建文件夹_SAP事务码太多,记不住怎么办?
不同于国产财务软件,SAP提供了直接输入命令的便捷功能,例如在命令框中输入F-02可以直接进入到财务记账界面,使用起来非常方便. 但是对于很多SAP初学者来说,SAP有太多的事务代码了,真的好难记住呀 ...
最新文章
- 使用OneFlow搭建神经网络
- 企业应用人工智能面临的挑战
- 番石榴15 –新功能
- 运行差分灰狼时出现 关于“索引超出数组元素的数目(0)和矩阵维度问题以及图例的问题”的解决办法
- WPF地区选择控件(内附下载地址)
- Snabbdom(虚拟dom)
- Linux命令篇之tree命令和touch命令
- 如何编写高效优雅 Java 程序
- 大数据处理需注意的问题
- Git——撤销和删除操作【git restore / git rm 】
- Grafana v6.0.0 发布,系统指标监控与分析平台
- idea断点的几个意思_你真的理解Intellij IDEA的Debug技巧吗?这篇文章全部教给你...
- 计算机一级选择题比大小,科学网—【2年前写的】全国计算机等级考试 【三级网络】考试经验 - 钱世杰的博文...
- 解决矢量地图与卫星地图叠加有偏移的两种方法
- QQ第三方登陆-极简版
- Scratch软件编程等级考试一级——20210911
- 蘑菇街顶天:真诚与尊重是技术团队的管理要点
- Android用MediaCodec将相机预览帧编码成MP4视频
- NAND Flash SLC、MLC技术解析
- 新浪张俊林:大语言模型的涌现能力——现象与解释