Пытаюсь создать правила и запустить во время выполнения, используя drool, но не работает

#java #drools

#java #пускает слюни

Вопрос:

 package com.sample;


import org.drools.core.SessionConfiguration;
import org.drools.core.base.RuleNameEqualsAgendaFilter;
import org.kie.api.KieServices;
import org.kie.api.builder.*;
import org.kie.api.runtime.KieContainer;
import org.kie.api.runtime.KieSession;
import org.kie.api.runtime.KieSessionConfiguration;


import java.io.StringReader;
import java.nio.file.Files;
import java.nio.file.Paths;

public class Test {

    public  Test() {

    }

    public  void fireRules(Object fact) throws Exception{


        KieServices ks  = KieServices.Factory.get();
        KieRepository kr = ks.getRepository();
        KieFileSystem kfs = ks.newKieFileSystem();
        KieSessionConfiguration conf= SessionConfiguration.newInstance();

         String path ="test.drl";
       String drl = new String(Files.readAllBytes(Paths.get(path)));
        kfs.write("../resources/com/sample/rules/simple.drl",ks.getResources().newReaderResource( new StringReader(drl) ));

        KieBuilder kb = ks.newKieBuilder(kfs);
        kb.buildAll();

        if (kb.getResults().hasMessages(Message.Level.ERROR)) {
            throw new RuntimeException("Build Errors:n"   kb.getResults().toString());
        }

        KieContainer kContainer = ks.newKieContainer(kr.getDefaultReleaseId());

        KieSession kSession = kContainer.newKieSession(conf);


        kSession.insert(fact);
        Test t = new Test();
        kSession.insert(t);
        
       System.out.println(kSession.fireAllRules());

        return;
    }


}


  

Вышеупомянутая функция не запускает правила

правило «Правило 01»
при оценке ( 1 ==1 ), затем System.out.println(«Правило 01 работает»); конец

Выше приведен файл правил.

Я хочу определить правила во время выполнения, но приведенный выше реализованный код не запускает правила. Есть ли какой-либо другой метод для создания и развертывания правил.

Заранее спасибо

Комментарии:

1. Итак, в чем ошибки?

2. Ошибок нет, просто правила не запускаются

3. Что происходит, когда вы запускаете свой IDE-отладчик и выполняете его пошагово?

4. не могу ничего выяснить в режиме отладки,

5. Хорошо, отладкой вы можете подтвердить, что он прочитал файл, как ожидалось, записал его в правильное местоположение, успешно создал правило и т.д.? Потому что у нас нет доступа к вашей системе и настройкам.