Drools - KieServices.Factory.get () возвращает ноль - PullRequest
0 голосов
/ 19 ноября 2018

Я пытаюсь интегрировать проект 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). У кого-нибудь есть идея это исправить? Спасибо!

1 Ответ

0 голосов
/ 19 ноября 2018
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;
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...