gpt4 book ai didi

java - Drools-KieServices.Factory.get()返回null

转载 作者:太空宇宙 更新时间:2023-11-04 10:01:45 24 4
gpt4 key购买 nike

我尝试将Drools项目集成到Maven应用程序中。
Drools应用程序完全可以独立运行,但是当我尝试将其集成到Maven项目中时,我得到了java.lang.NullPointerException。
经过一些研究,似乎是因为KieServices.Factory.get()向我返回了一些东西,但他的所有参数都为空。

这是我的代码:

 public static final void main(String[] args) {
myBool test = new myBool(false) ;
try {
// load up the knowledge base

KieServices ks = KieServices.Factory.get();
KieContainer kContainer = ks.getKieClasspathContainer();

KieSession kSession = kContainer.newKieSession("ksession-rules");

// go !
Person toto = new Person("toto",21);
Person titi = new Person("titi",12);
Person tata = new Person("tata",15);

kSession.insert(toto);


我已经进行了很多研究,并尝试了很多方法来解决它(我已经添加了drools-compiler的依赖项)。
有人有解决的想法吗?谢谢 !

最佳答案

public ReturnType yourMethodName(final YourClassName  YourClassObj) {
KieSession kieSession = this.kieContainer.newKieSession("your Session");
kieSession.insert(YourClassObj);
kieSession.fireAllRules();
kieSession.dispose();
return your returnObject/Parameter;
}


在配置中

 @Bean
public KieContainer kieContainer() {
return KieServices.Factory.get().getKieClasspathContainer();
}


服务等级:

private final KieContainer kieContainer;

@Autowired
public RulesEngineService(final KieContainer kieContainer) {
RulesEngineService.log.info("Initialising a new session.");
this.kieContainer = kieContainer;
}

关于java - Drools-KieServices.Factory.get()返回null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53373116/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com