Drools集成CDI(二)
上节课《Drools集成CDI(一)》中我们介绍了CDI的基本使用,这节课带大家学习一下Drools如何集成CDI。
添加依赖
首先使用drools7的话需要在正常使用CDI的基础上添加drools-cdi的依赖:
<dependency>
    <groupId>org.drools</groupId>
    <artifactId>drools-cdi</artifactId>
    <version>${drools.version}</version>
</dependency>beans.xml和kmodule.xml配置与之前的使用方式一致;
使用方式一
public class Chapter4 {
    @KSession
    KieSession kieSession;
    @Inject
    Chapter4(KieSession kieSession){
        this.kieSession = kieSession;
    }
    public static void main(String[] args) {
        Weld weld = new Weld();
        Chapter4 chapter4 = weld.initialize().instance().select(Chapter4.class).get();
        chapter4.doFire();
    }
    private void doFire(){
        int nums = kieSession.fireAllRules();
        System.out.println("Fire " + nums + " rules!");
    }
}方式二
将获取对象的方式由Weld替换为SeContainer:
SeContainer seContainer = null;
try {
    seContainer = SeContainerInitializer.newInstance().initialize();
    Chapter4 chapter4 = seContainer.select(Chapter4.class).get();
    chapter4.doFire();
} finally {
    if (seContainer != null && seContainer.isRunning()) {
        seContainer.close();
    }
}相关技术视频
CSDN学院:《Drools7规则引擎进阶教程》
CSDN学院:《Drools7规则引擎入门教程》
CSDN学院:《Drools7系列优惠套餐》
关注微信公众

更多技术、架构、管理等知识分享,请关注微信公众号:程序新视界(ID:ershixiong_see_world)

关注公众号:程序新视界,一个让你软实力、硬技术同步提升的平台
除非注明,否则均为程序新视界原创文章,转载必须以链接形式标明本文链接
本文链接:http://choupangxia.com/2019/07/06/drools%e9%9b%86%e6%88%90cdi%ef%bc%88%e4%ba%8c%ef%bc%89/