В eclipse я разрабатываю веб-сервис на основе мыла, для которого я решил использовать Drools для написания бизнес-логики.
Вот что я сделал, чтобы интегрировать слюни в затмение:
- Установил плагин drools в eclipse, используя опцию «Установить новое программное обеспечение».
- Скопировал все файлы JAR drools в папку «Библиотеки со ссылками».
- Продолжил работу с моим ранее созданным динамическим веб-проектом с недавно добавленными JAR-файлами drools.
На одном из этапов моего потока (запущенного с использованием метода отправки, выполняемого исполнителем потока), где я собираю базу знаний, у меня инициализация kieServices, как показано ниже:
kieServices ks = kieServices.Factory.get();
Но в этот момент приложение вылетает. Когда я пытался отладить в eclipse, приложение достигает этой точки инициализации, и когда я вступаю в нее как часть отладки, оно приводит меня к одному из блоков catch файла java.util.concurrent.FutureTask.class.
Итак, эта фабрика генерирует исключение, которое я не смог уловить, даже используя базовый класс Exception. Он не перехватывается, и я не вижу никакой трассировки стека ни в одном из журналов tomcat.
try {
// load up the knowledge base
KieServices ks = KieServices.Factory.get();
KieContainer kContainer = ks.getKieClasspathContainer();
KieSession kSession = kContainer.newKieSession("ksession-rules");
...
...
}
catch(Exception e) {
e.printStackTrace(); }
Любая помощь будет принята с благодарностью.
Примечание: этот вызов фабрики kieServices прекрасно работает, если я использую ту же самую банку drools в отдельном проекте Drools (не в динамическом веб-проекте) в eclipse.