很多朋友都想知道java规则引擎是什么?下面就一起来了解一下吧~
一、简介:
Drools就是为了解决业务代码和业务规则分离的引擎。 Drools 规则是在 Java 应用程序上运行的,其要执行的步骤顺序由代码确定,为了实现这一点,Drools 规则引擎将业务规则转换成执行树。
二、特性:
优点:
1、简化系统架构,优化应用
2、提高系统的可维护性和维护成本
3、方便系统的整合
4、减少编写“硬代码”业务规则的成本和风险
三、使用方式:
(1)Maven 依赖:
org.kie kie-api 6.5.0.Final org.drools drools-compiler 6.5.0.Final runtime junit junit 4.12
(2)新建配置文件/src/resources/META-INF/kmodule.xml
(3)新建drools规则文件/src/resources/rules/age.drl
import com.lrq.wechatDemo.domain.User // 导入类dialect "mvel"rule "age" // 规则名,唯一 when $user : User(age<15 || age>60) //规则的条件部分 then System.out.println("年龄不符合要求!");end
测试用例:
/** * CreateBy: haleyliu * CreateDate: 2018/12/26 */@RunWith(SpringJUnit4ClassRunner.class)@ContextConfiguration(locations = {"classpath*:applicationContext.xml"})public class TestUser { private static KieContainer container = null; private KieSession statefulKieSession = null; @Test public void test(){ KieServices kieServices = KieServices.Factory.get(); container = kieServices.getKieClasspathContainer(); statefulKieSession = container.newKieSession("myAgeSession"); User user = new User("duval yang",12); statefulKieSession.insert(user); statefulKieSession.fireAllRules(); statefulKieSession.dispose(); }}
以上就是小编今天的分享,希望能帮到大家。