使用 Weld 的 CDI Drools 7

Drools 7 with CDI using Weld

我已经成功地 运行 使用 6.3 版的 CDI 使用 Drools。0.Final、CDI 1.2 版和 Weld 2.3 版0.Final。使用下面的代码示例。

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 做同样的事情。

但我无法让它工作。有什么想法吗?

正如我在博客中的回答post 您需要在 drools 7 中添加以下依赖项才能使这些示例正常工作: org.drools 流口水-cdi ${kie.version}