使用嵌入式Drools规则引擎开发Web应用程序的Drools依赖项

时间:2018-08-27 20:49:06

标签: drools

我已经开发了一个独立的drools应用程序,其规则通过.drl文件实现。我使用Eclipse IDE来开发应用程序。我想使用tomcat Web服务器软件包将此应用程序嵌入Web应用程序中。我想在Eclipse中创建一个Web应用程序项目,并根据需要将drools依赖项添加到该项目中。我需要将哪些流口水库/工件添加到项目中,例如凯和流口水库/工件?

更具体地说,如果我使用Eclipse创建基于Maven的Web应用程序项目。为了获得流口水功能,我还需要向POM添加哪些其他Maven工件?

Web应用程序Servlet中的逻辑将创建一个kie容器和会话,基于模型定义实例化一组事实,将事实插入会话,触发规则,并根据结果响应初始的http请求规则评估。

1 个答案:

答案 0 :(得分:0)

我解决了我刚才提出的问题。我正在发布答案以结束问题。我提出了一组Maven依赖关系,这些依赖关系用于创建一个Java Servlet应用程序,该应用程序初始化并调用嵌入式DROOLS规则引擎来处理http请求。我已经在Tomcat服务器(v8.5)中成功测试了基于servlet的应用程序。我使用Eclipse IDE将应用程序创建为基于Maven的项目。该应用程序的pom.xml文件具有以下依赖关系。

<dependency>
  <groupId>javax.servlet</groupId>
  <artifactId>javax.servlet-api</artifactId>
  <version>3.1.0</version>
  <scope>provided</scope>
</dependency>
<dependency>
  <groupId>javax.servlet.jsp</groupId>
  <artifactId>javax.servlet.jsp-api</artifactId>
  <version>2.3.1</version>
  <scope>provided</scope>
</dependency>
<dependency>
  <groupId>org.glassfish.web</groupId>
  <artifactId>javax.servlet.jsp.jstl</artifactId>
  <version>1.2.4</version>
  <exclusions>
    <exclusion>
        <groupId>javax.servlet</groupId>
        <artifactId>servlet-api</artifactId>
    </exclusion>
    <exclusion>
        <groupId>javax.servlet.jsp</groupId>
        <artifactId>jsp-api</artifactId>
    </exclusion>
  </exclusions>
</dependency>
<dependency>
  <groupId>org.kie</groupId>
  <artifactId>kie-api</artifactId>
  <version>6.5.0.Final</version>
</dependency>
<dependency>
  <groupId>org.drools</groupId>
  <artifactId>drools-core</artifactId>
  <version>6.5.0.Final</version>
</dependency>
<dependency>
  <groupId>org.drools</groupId>
  <artifactId>drools-compiler</artifactId>
  <version>6.5.0.Final</version>
  <scope>runtime</scope>
</dependency>
<dependency>
  <groupId>com.google.code.gson</groupId>
  <artifactId>gson</artifactId>
  <version>2.8.5</version>
</dependency>
<dependency>
  <groupId>org.json</groupId>
  <artifactId>json</artifactId>
  <version>20180813</version>
</dependency>
<dependency>
  <groupId>commons-io</groupId>
  <artifactId>commons-io</artifactId>
  <version>2.6</version>
</dependency>