使用 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}
我已经成功地 运行 使用 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}