Я тестирую DROOLS 7.0 с простым набором правил тестирования, используя следующий код:
KieContainer kc = KieServices.Factory.get().getKieClasspathContainer();
KieSession ksession = kc.newKieSession("DroolsTestKS");
...
Экземпляр KieSession возвращается, даже если в файле правила .drl есть ошибки, и исключение не выдается. Я хотел бы проверить результат составления правил.
Ссылка Drools (см. 4.2.2.4) говорит, что результат сборки может быть получен с помощью:
KieServices kieServices = KieServices.Factory.get();
KieBuilder kieBuilder = kieServices.newKieBuilder( kfs ).buildAll();
assertEquals( 0, kieBuilder.getResults().getMessages( Message.Level.ERROR ).size() );
где kfs - это экземпляр KieFileSystem, но примеры того, как создать такую KieFileSystem на предыдущих страницах руководства, гораздо более сложны и немного запутаны IMHO.
Есть ли способ получить результат Session Buid (т.е. получить доступ к KieBuilder ) при создании KieSession с простыми двумя строками кода, которые я показываю в начале этого поста?