java drools

作者:原创时间:2022-03-30
文档

java drools是什么,让我们一起了解一下:

Drools是为Java量身定制的基于Charles Forgy的RETE算法的规则引擎的实现,具有了OO接口的RETE,使得商业规则有了更自然的表达。而且用XML节点来规范If--Then句式和事实的定义,使引擎干起活来更方便。

drools的基本工作过程是什么?

通常而言我们使用一个接口来做事情,首先要穿进去参数,其次要获取到接口的实现执行完毕后的结果,而drools也是一样的,我们需要传递进去数据,用于规则的检查,调用外部接口,同时还可能需要获取到规则执行完毕后得到的结果。

在drools中,这个传递数据进去的对象,术语叫 Fact对象。Fact对象是一个普通的java bean,规则中可以对当前的对象进行任何的读写操作,调用该对象提供的方法,当一个java bean插入到workingMemory中,规则使用的是原有对象的引用,规则通过对fact对象的读写,实现对应用数据的读写,对于其中的属性,需要提供getter setter访问器,规则中,可以动态的往当前workingMemory中插入删除新的fact对象。

规则文件可以使用 .drl文件,也可以是xml文件,这里我们使用drl文件。

具体案例分析如下:


        
            org.kie
            kie-api
            7.11.0.Final
        
        
            org.slf4j
            slf4j-nop
            1.7.6
        
        
            org.kie
            kie-ci
            7.11.0.Final
        
        
        
            com.myspace
            ljlTest
            1.0.0
        
         
com.thoughtworks.xstream 
xstream 
1.4.10 

以上就是小编今天的分享了,希望可以帮助到大家。

显示全文
java dto java dynamic java flume java ear java foreach循环 java fork java ecc加密 java formatter java echarts java ehcache java email java empty java encapsulation java future java generator java enhancer java generic java enterprise java environment java epoll java flink java dowhile java flatmap java findfirst java fileinputstream java file.exists() java dockerfile java field获取值 java field java divide java feign java fastjson java dict java development java fastdfs java dev java dependency java调用asmx接口 java delete java获取绝对值