美文网首页
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