В моем файле drl я использую немецкие символы, такие как Umlauts или ß.Таким образом, я устанавливаю кодировку UTF-8 с перегруженным конструктором при создании ресурса для файловой системы Kie.Однако после запуска правил на вставленные Fact Drools, похоже, не применяется указанная кодировка.Я вставляю факт, и если условие соответствует этому факту, он должен изменить атрибут Action1 (String) факта на «Rückfrage» и вернуть измененный факт.Однако, когда я смотрю на атрибут Action1 извлеченного компонента, я вижу «Rückfrage» вместо «Rückfrage».Я пробовал кодирование UTF-8 и ISO-8859-1.Есть идеи, что не так?
Слюни 7.13
KieSessionGenerator:
public KieSessionGenerator() {
KieServices kieServices = KieServices.Factory.get();
KieFileSystem kieFileSystem = kieServices.newKieFileSystem();
kieFileSystem.write(ResourceFactory.newClassPathResource(drlFile, "UTF-8"));
KieBuilder kieBuilder = kieServices.newKieBuilder(kieFileSystem);
kieBuilder.buildAll();
KieModule kieModule = kieBuilder.getKieModule();
KieContainer kieContainer = kieServices.newKieContainer(kieModule.getReleaseId());
kieSession = kieContainer.newKieSession();
}
Фрагмент из ДХО:
rule "813"
when
$bean : Bean(longDesc == "Infektion")
then
$bean.setAction1("Rückfrage");
end
Вставка факта:
public Bean lookupBean(Bean bean) {
kieSessionGenerator.getKieSession().insert(bean);
kieSessionGenerator.getKieSession().fireAllRules();
return bean;
}