以Drools5.5为例说明“规则引擎在业务系统中应用”---规则引擎与业务系统交互
一、重要概念
Fact:是指在Drools规则应用当中,将一个普通的JavaBean插入到规则的WorkingMemory当中后的对象。
规则可以对Fact对象进行任意的读写操作,当一个JavaBean插入到WorkingMemory当中变成Fact之后,Fact
对象不是对原来的JavaBean对象进行Clon,而是原来JavaBean对象的引用。规则在进行计算的时候需要用到应用系统当中的数据,这些数
据设置在Fact对象当中,然后将其插入到规则的WorkingMemory当中,这样在规则当中就可以通过对Fact对象数据的读写,从而实现对应用数据的读写操作。一个Fact对象通常是
一个具有getter和setter方法的POJO对象,通过这些getter和setter方法可以方便的实现对Fact对象的读写操作,所以我们可以简单的把Fact对象理解为规则与应用系统数据交互的桥梁或通道。
从中知道两条重要信息:
1.在WrokingMemory中对业务对象数据的操作,直接返回到应用系统。
2.业务类的定义需要有get/set方法。
二、Drools与应用系统交互
1.应用系统连接DB
2.传递DB数据对象至Drools
3.Drools处理业务
4.Drools返回结果
见代码列表