美文网首页
2020-09-28 风控系统六-drools规则引擎动态加载规

2020-09-28 风控系统六-drools规则引擎动态加载规

作者: 源码互助空间站 | 来源:发表于2020-09-29 09:45 被阅读0次

    一、简介

    在前面介绍了使用drools加载规则来作为风控实现。使用drools后可以使业务和规则独立出来。


    图片.png

    风控系统一:drools规则引擎学习使用
    https://www.jianshu.com/p/0209eb5bebb1
    代码放在gitee:
    https://gitee.com/wangxinqiao/droolDemo.git

    二、drools动态加载规则

     @Test
        public void test(){
            System.out.println("================");
            //基于动态加载,这里其实可以把多个规则文件当成流文件来处理
            String myRule = "import com.wangxinqiao.drools.bean.Person\n" +
                    "\n" +
                    "dialect  \"mvel\"\n" +
                    "\n" +
                    "rule \"age\"\n" +
                    "    when\n" +
                    "        $person : Person(age<16 || age>50)\n" +
                    "    then\n" +
                    "        System.out.println(\"这个人的年龄不符合要求!(基于动态加载)\");\n" +
                    "end\n";
    
            KieHelper helper = new KieHelper();
    
            helper.addContent(myRule, ResourceType.DRL);
    
            KieSession ksession = helper.build().newKieSession();
    
            Person person = new Person();
    
            person.setAge(12);
            person.setName("Test");
    
            ksession.insert(person);
            ksession.fireAllRules();
            ksession.dispose();
        }
    

    处理结果:


    图片.png

    相关文章

      网友评论

          本文标题:2020-09-28 风控系统六-drools规则引擎动态加载规

          本文链接:https://www.haomeiwen.com/subject/hkpduktx.html