2013-09-18 2 views
0

Я создал динамический веб-проект, который также использует drools для обеспечения некоторой функциональности. Когда я помещаю WAR-файл в Tomcat7 и сервер, часть drools не работает.Как запустить проект, связанный с drools в Tomcat7?

KnowledgeBuilder kbuilder = KnowledgeBuilderFactory.newKnowledgeBuilder(); 

После этой линии, которая является первой строкой, относящейся к слюноотделениям, ничего не происходит.

Требуется ли какая-то конфигурация для запуска моего проекта, содержащего drools 5.5.0 Final в Tomcat7.

Пожалуйста, помогите мне. Я плохо застрял, и я новичок в слюни.

+0

Это просто терпит неудачу? Возможно, исключено? Можете ли вы добавить немного больше своего кода в ту часть, где вы запускаете правила? – kaskelotti

ответ

0

Вам нужно будет добавить некоторые факты в рабочую память и выполнить (запустить) правила. Выезд these examples on GitHub

P.S. Вероятно, никак не связано с Tomcat. Возможно, стоит попробовать сначала запустить правила из командной строки.

+0

Я добавил факты в рабочую память, а также проверил свои правила в автономном приложении Java. Они работают. – user2763774

+0

Всякий раз, когда элемент управления входит в функцию, содержащую API drools, он пропускает его, и начинается следующий процесс. Первым шагом в слюни является создание строителя знаний. Поэтому, даже если что-то не так с правилами, эта строка должна выполняться. Я также поместил LOG после этой строки, но журнал никогда не регистрируется. Мне нужно решить это сегодня. Не могли бы вы помочь мне в этом. – user2763774

0

Вам необходимо проверить все зависимости, которые добавлены в ваше веб-приложение (WEB-INF/lib), убедитесь, что у drools есть все необходимые отпечатки, потому что, если нет, он не сможет создать конструктор знаний. Большую часть времени, если он терпит неудачу, заключается в том, что вы забыли добавить депо в веб-приложении.

+0

Я создал динамический веб-проект с частью drools и необходимыми файлами jar и выполнил свой военный файл в Tomcat. Он выполнен отлично. Но когда я интегрирую его с моим проектом, проблема идет. Я использую все банки, которые требуются. Фактически функция, содержащая слюни, называется методом buy run() потока. Может ли Threading выдаваться? – user2763774

0

Следующий проект в GitHub - это веб-приложение, содержащее некоторые конечные точки REST-стиля для проверки IBAN. Он использует Drools 5.5 для выполнения этой оценки.

https://github.com/gratiartis/sctrcd-payment-validation-web/

Он генерирует .war, который может быть загружен в Tomcat, и может быть полезной отправной точкой. База знаний заворачивают в рамках службы Spring:

https://github.com/gratiartis/sctrcd-payment-validation-web/blob/master/src/main/java/com/sctrcd/payments/validation/RuleBasedIbanValidator.java

После через, как это создает базу знаний и сессии может помочь вам увидеть, где ваш код будет неправильно.

В качестве бонуса вы можете запустить его в Tomcat, используя «mvn tomcat7: run», чтобы проверить его немедленно.

Смежные вопросы