一、简介
在前面介绍了使用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
网友评论