如何在Tomcat7中运行包含drools的项目?

时间:2013-09-18 14:39:42

标签: tomcat7 drools jbpm drools-guvnor drools-flow

我创建了一个动态Web项目,它也使用drools来提供一些功能。当我将WAR文件放在Tomcat7和服务器中时,drools部分不起作用。

KnowledgeBuilder kbuilder = KnowledgeBuilderFactory.newKnowledgeBuilder();

在与drools相关的第一行之后,没有任何反应。

在Tomcat7中运行包含drools 5.5.0 Final的项目是否需要一些配置。

请帮帮我。我被严重困住,我是流口水的新手。

3 个答案:

答案 0 :(得分:0)

您必须向工作记忆中添加一些事实并执行(触发)规则。查看these examples on GitHub

P.S。可能与Tomcat没有任何关系。尝试首先从命令行应用程序执行规则可能值得。

答案 1 :(得分:0)

您需要检查添加到Web应用程序(WEB-INF / lib)的所有依赖项,确保drools具有所有必需的deps,因为如果没有,它将无法创建知识生成器。大部分时间如果失败是因为您忘记在Web应用程序中添加deps。

答案 2 :(得分:0)

GitHub中的以下项目是一个Web应用程序,包含一些用于验证IBAN的REST样式端点。它使用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

通过如何创建知识库和会话可以帮助您查看代码出错的位置。

作为奖励,您可以使用" mvn tomcat7:run"在Tomcat中运行它。立即测试它。