使用Weld使用CDI进行Drools 7

时间:2017-08-25 07:22:06

标签: cdi drools weld

我使用版本6.3.0.Final,CDI版本1.2和Weld版本2.30.Final设法使用CDI运行Drools。使用下面的代码示例。

https://github.com/Salaboy/drools-workshop/tree/master/my-first-drools-project

 public class App {

    @Inject
    @KSession
    private KieSession kSession;

    public void bootstrapDrools() {
        // The KieSession was injected so we can use it now
        kSession.insert("Hi There!");
        int rulesFired = kSession.fireAllRules();
        System.out.println(">>> Rules Fired: "+rulesFired);


    }

    public static void main(String[] args) {
        //Boostrap the CDI container, in this case WELD
        Weld w = new Weld();

        WeldContainer wc = w.initialize();
        App app = wc.select(App.class).get();
        app.bootstrapDrools();

        w.shutdown();
    }
}

现在我正在尝试使用drools 7.2.0 final。

但我无法让它发挥作用。有什么想法吗?

1 个答案:

答案 0 :(得分:1)

我在博文中回答 您需要在drools 7中添加以下依赖项以使这些示例正常工作:               org.drools             滴料-CDI             $ {} kie.version