Я новичок в Drools, Нужны некоторые разъяснения по Drools - Spring Integration.
public KieFileSystem kieFileSystem() throws IOException {
KieFileSystem kieFileSystem = getKieServices().newKieFileSystem();
for (Resource file : getRuleFiles()) {
kieFileSystem.write(ResourceFactory.newClassPathResource(RULES_PATH + file.getFilename(), "UTF-8"));
}
return kieFileSystem;
}
public KieContainer kieContainer() throws IOException {
final KieRepository kieRepository = getKieServices().getRepository();
kieRepository.addKieModule(new KieModule() {
public ReleaseId getReleaseId() {
return kieRepository.getDefaultReleaseId();
}
});
KieBuilder kieBuilder = getKieServices().newKieBuilder(kieFileSystem());
kieBuilder.buildAll();
return getKieServices().newKieContainer(kieRepository.getDefaultReleaseId());
}
Мое понимание в соответствии с документацией и несколькими примерами
Нам необходимо определить правила в файле
KieFileSystem загружает правила в KieBuilder
KieBuilder содержит базу знаний
На основе KieBuilder мы можем подготовить KieContainer и новую KieSession
На KieSessoin мы включаем факты и запускаем правила.
Вопрос 1: В чем важность KieModule, KieRepository, ReleaseId?
Вопрос 2: У меня есть отдельные каталоги для разных потоков.Как я могу загрузить определенные правила, основанные на потоке?