drools规则引擎对接风控系统简单实现Demo

从五一放假回来,研究了三天的drools的原理,由于网上的视频基本都是收费,并且上班如果看视频只能是无声。所以研究的主要渠道就是通过博客专栏,当然也找了一些视频。视频都是加密的,日后等解密后分享出来。写这篇博客的目的是总结一下整个学习过程,及日后深入研究需要考虑的点。三天时间肯定只是皮毛,只能做一个简单的能运行的demo。

主要阅读的博客有一下这些,有一些是连载,非常感谢博主们的分享。

https://www.cnblogs.com/atomicbomb/p/7251814.html

https://jinfei21.github.io/2018/09/29/%E5%9F%BA%E4%BA%8E%E8%A7%84%E5%88%99%E7%9A%84%E9%A3%8E%E6%8E%A

https://ruleengine.iteye.com/blog/2019278

https://www.cnblogs.com/yuebintse/p/5767996.html

https://www.cnblogs.com/qiyexue/p/7822464.html

https://blog.csdn.net/sqzhao/article/details/70739140

https://hxrs.iteye.com/blog/985876

https://blog.csdn.net/RhyLK/article/details/78264959

纸上得来终觉浅,绝知此事要躬行 。今天花了两个半小时结合着风控系统简单的实现了一个Demo。

首先在项目的META-INF目录下添加一个kmodule.xml文件

<?xml version="1.0" encoding="UTF-8"?>
<kmodule xmlns="http://jboss.org/kie/6.0.0/kmodule">
    <kbase name="rules" packages="com.tts.forward.interfaces.drools">
        <ksession name="pay_rule"/>
    </kbase>
</kmodule>

简单解释一下:kbase 的packages属性值是规则文件的路径

 ksession的name属性是规则文件的名称,不用加后缀

书写drl文件时一定要注意语法。上面的博客中有详细介绍。

添加jar包

 

创建一个普通的javaBean

 

在引用时需要向规则引擎传入一个对象,准确的应该是Fact对象,但是也可以java对象。

执行。

在调试的过程中发现几个值得深入思考的问题:

1、

KieContainer kc = KieServices.Factory.get().getKieClasspathContainer();
            KieSession ksession = kc.newKieSession("pay_rule");

在第一次执行这两条语句的时候很明显感觉到很慢,后面好很多,如何解决第一次响应时间过慢的问题。

2、drools的文件应用有两种方式第一种是我这样,第二种是如何实现的。

3、如何设定规则。个人觉得最难的一点。

4、设置优先级,如何做到先后执行值累加的效果。

  • 1
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值