Tomcat8 安装drools7.11

一、Tomcat8 安装drools7.11

1、workbench简单介绍

workbench 在我看来是一个drools web端的工具,它集成了git,maven和drools。能过帮我们快速的编写一个规则。废话不多说,我们开始搭建workbench。

2、workbench环境

  • Tomcat8((我用的是8.5这个版本,必须要tomcat 8以上不然会报错))

  • jdk8

3、workbench下载

下载地址:https://download.jboss.org/drools/release/7.11.0.Final/

我们可以看到目前 7.48版本已经不支持tomcat,而是用WildFly搭建。最后一个支持Tomcat的版本是7.11.0.Final。

不过往下翻就能看到可以下载历史版本

Tomcat8 安装drools7.11_第1张图片

我们下载kie-drools-wb-7.11.0.Final-tomcat8.war 就ok了

Tomcat8 安装drools7.11_第2张图片

4、修改Tomcat配置

1、部署

把kie-drools-wb(workbench)的war包解压缩放到tomcat webapps下(将名字改成kie-drools-wb)

2、配置JEE安全性

1、添加jar包

把drools 相关的jar下载好放到lib下(5个jar)

包括kie-tomcat-integration、JACC和slf4j-api三个JAR包(自己从maven仓库下载)复制到tomcat的lib目录下 (不加入两个jackson的两个包tomcat启动时会报抱不到jackson相关的类的错误,从maven下载kie包注意版本号)

Tomcat8 安装drools7.11_第3张图片

大家自行在maven仓库中下载。

2、JACC配置

修改Tomcat的server.xml配置文件

在server.xml加入以下内容:

<Valve className="org.kie.integration.tomcat.JACCValve" />

如图:

Tomcat8 安装drools7.11_第4张图片

3、添加用户

在config目录下的tomcat-users.xml文件中添加角色和用户名,注意确保至少有admin角色或者analyst其中一个角色


<tomcat-users xmlns="http://tomcat.apache.org/xml"
              xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
              xsi:schemaLocation="http://tomcat.apache.org/xml tomcat-users.xsd"
              version="1.0">
  <role rolename="manager"/>
  <role rolename="admin"/>
  <role rolename="analyst"/>
  <role rolename="kie-server"/>
  <role rolename="user"/>
  <role rolename="manager-gui"/>
  <user username="tomcat" password="tomcat" roles="admin,manager,manager-gui,kie-server,analyst"/>
  <user username="kieserver" password="kieserver1!" roles="kie-server,admin"/>
tomcat-users>

说明:角色必须有kie-server。必须有kieserver用户,并且密码必须是keiserver1!。因为kie-server注册时默认用户名和密码就是这个。如果不用默认密码。需要在setenv.sh文件中添加。

5、定义系统属性

在tomcat的bin目录下创建setenv.bat文件(注意linux是setenv.sh文件),并写入以下内容(注意空格):

CATALINA_OPTS="-Xmx1024M  -Djava.security.auth.login.config=$CATALINA_HOME/webapps/kie-drools-wb/WEB-INF/classes/login.config  -Dorg.jboss.logging.provider=jdk"

6、启动Tomcat

./bin/startup.sh

7、登录

已经搭建完成,最后测试登录,输入地址:

http://localhost:8080/kie-drools-wb/kie-drools-wb.jsp

根据tomcat-users.xml里的配置输入用户名和密码,此处输入用户名是kieserver,密码是aaaaaa,回车登录

如图:

Tomcat8 安装drools7.11_第5张图片

Tomcat8 安装drools7.11_第6张图片

如果安装不成功。可以去我配置好的资源文件中下载。下载地址为:
https://download.csdn.net/download/h_and_g/15116860

二、Tomcat9安装kie-server

1、kie-server简单介绍

kiserver是我们的定义的业务流程和业务规则的执行的地方,他提供执行引擎,来解释执行这些流程和规则 。kie-server就是一个war包,可以部署到我们的web服务器上,比如tomcat或者wildfly。

2、kie-server安装环境

  • Tomcat9
  • jdk8

3、kie-server下载

下载地址:https://download.jboss.org/drools/release/

现在的版本是7.48,我们往下翻,会看到:Other downloads。如下图。

Tomcat8 安装drools7.11_第7张图片

Tomcat8 安装drools7.11_第8张图片

点击上面红框,进入下载页面。或者直接用上面的下载地址。

选择你需要的版本。我这里用的是最后一个支持Tomcat的版本7.11.0.Final。

Tomcat8 安装drools7.11_第9张图片

点进去。

Tomcat8 安装drools7.11_第10张图片

我们下载kie-server-distribution-7.11.0.Final.zip。

解压,我们发现里面有五个文件,如下图:

Tomcat8 安装drools7.11_第11张图片

我们用kie-server-7.11.0.Final-webc.war这个包,并将名字改为kie-server.war。

4、修改Tomcat配置

1、部署

jdk1.8和Tomcat9的下载和安装比较简单,这里就省略了。

将下载并修改名称后的kie-server.war包放到Tomcat的webapps目录下。

2、添加jar包

把drools 相关的jar下载好放到lib下(5个jar)

  • javax.security.jacc:javax.security.jacc-api
  • org.kie:kie-tomcat-integration
  • org.slf4j:artifactId=slf4j-api
  • org.slf4j:artifactId=slf4j-jdk14
  • com.h2database:h2 (H2数据库的驱动包,根据你使用的数据库下载相应的驱动包)

包括kie-tomcat-integration、JACC、slf4j-api和slf4j-jdk14四个JAR包(自己从maven仓库下载)复制到tomcat的lib目录下 。

由于官方安装步骤里面用的是H2数据库,所以这里为了尽量少该配置,沿用了H2数据库,因此下载的是H2数据库的驱动包。

如下图:

Tomcat8 安装drools7.11_第12张图片

大家自行在maven仓库中下载。

H2数据库的驱动包的版本要注意,如果下载1.4.200后,项目启动后会报MVCC错误。如下:

Caused by:
        org.h2.jdbc.JdbcSQLNonTransientConnectionException: Datenbank-Verbindungs Option "MVCC" nicht unterst³tzt
        Unsupported connection setting "MVCC" [90113-200]

因为H2在1.4.200这个版本后,H2取消了对内存中DBs的MCVV支持,所以我这里用的是1.4.197版本。

3、JACC配置

修改Tomcat的server.xml配置文件

在server.xml加入以下内容:

<Valve className="org.kie.integration.tomcat.JACCValve" />

如图:

Tomcat8 安装drools7.11_第13张图片

4、添加用户

在config目录下的tomcat-users.xml文件中添加角色和用户名,注意确保至少有admin角色或者analyst其中一个角色


<tomcat-users xmlns="http://tomcat.apache.org/xml"
              xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
              xsi:schemaLocation="http://tomcat.apache.org/xml tomcat-users.xsd"
              version="1.0">
  <role rolename="manager"/>
  <role rolename="admin"/>
  <role rolename="analyst"/>
  <role rolename="kie-server"/>
  <role rolename="user"/>
  <role rolename="manager-gui"/>
  <user username="tomcat" password="tomcat" roles="admin,manager,manager-gui,kie-server,analyst"/>
  <user username="kieserver" password="kieserver1!" roles="kie-server,admin"/>
tomcat-users>

说明:角色必须有kie-server。必须有kieserver用户,并且密码必须是keiserver1!。因为kie-server注册时默认用户名和密码就是这个。如果不用默认密码。需要在setenv.sh文件中添加。

如果不是默认的也没有配置的话,启动日志里面会报401错误。

5、配置数据源

编辑***TOMCAT_HOME/conf/context.xml***文件,添加以下内容:

<Resource name="sharedDataSource"
          auth="Container"
          type="org.h2.jdbcx.JdbcDataSource"
          user="sa"
          password="sa"
          url="jdbc:h2:mem:testdb;DB_CLOSE_DELAY=-1;MVCC=TRUE"
          description="H2 Data Source"
          loginTimeout="0"
          testOnBorrow="false"
          factory="org.h2.jdbcx.JdbcDataSourceFactory"/>

6、定义系统属性

在tomcat的bin目录下创建setenv.sh文件(注意windows系统是setenv.bat文件),并写入以下内容(注意空格):

CATALINA_OPTS="-Xmx512M -Djbpm.tsr.jndi.lookup=java:comp/env/TransactionSynchronizationRegistry -Dorg.kie.server.persistence.ds=java:comp/env/jdbc/jbpm -Djbpm.tm.jndi.lookup=java:comp/env/TransactionManager -Dorg.kie.server.persistence.tm=JBossTS -Dhibernate.connection.release_mode=after_transaction -Dorg.kie.server.id=tomcat-kieserver -Dorg.kie.server.location=http://localhost:8080/kie-server/services/rest/server -Dorg.kie.server.controller=http://localhost:8080/kie-wb/rest/controller"

最后三个参数需要重新配置,因为它们依赖于它们运行的实际环境:

  • 实际的kie服务器id,用于识别给定的kie服务器
-Dorg.kie.server.id=kie-server
  • kie服务器通过HTTP的实际位置
-Dorg.kie.server.location=http://localhost:8080/kie-server/services/rest/server
  • 控制器的位置,以防kie服务器应该在托管模式下运行
-Dorg.kie.server.controller=http://localhost:8080/kie-wb/rest/controller

7、配置XA

在Tomcat的conf目录下创建xa-recovery-properties.xml文件。添加如下内容:



<properties>
    <entry key="DB_1_DatabaseUser">saentry>
    <entry key="DB_1_DatabasePassword">saentry>
    <entry key="DB_1_DatabaseDynamicClass">entry>
    <entry key="DB_1_DatabaseURL">java:comp/env/h2DataSourceentry>
properties>

这里需要特别注意:最后一个java:comp/env/h2DataSource

中的h2DataSource一定要修改,修改为在context.xml中配置的name值,既是sharedDataSource;

否则无法找到数据源。

替换后的配置如下:



<properties>
    <entry key="DB_1_DatabaseUser">saentry>
    <entry key="DB_1_DatabasePassword">saentry>
    <entry key="DB_1_DatabaseDynamicClass">entry>
    <entry key="DB_1_DatabaseURL">java:comp/env/sharedDataSourceentry>
properties>

最后在setenv.sh文件中增加读取这个文件的配置。在这个文件中追加如下配置。

-Dcom.arjuna.ats.jta.recovery.XAResourceRecovery1=com.arjuna.ats.internal.jdbc.recovery.BasicXARecovery\;abs://$CATALINA_HOME/conf/xa-recovery-properties.xml\ \;1

配置后的整个setenv.sh的内容为:

CATALINA_OPTS="-Xmx512M \
        -Djbpm.tsr.jndi.lookup=java:comp/env/TransactionSynchronizationRegistry \
        -Dorg.kie.server.persistence.ds=java:comp/env/jdbc/jbpm \
        -Djbpm.tm.jndi.lookup=java:comp/env/TransactionManager \
        -Dorg.kie.server.persistence.tm=JBossTS \
        -Dhibernate.connection.release_mode=after_transaction \
        -Dorg.kie.server.id=kie-server \
        -Dorg.kie.server.location=http://localhost:8080/kie-server/services/rest/server \
        -Dorg.kie.server.controller=http://localhost:9090/kie-drools-wb/rest/controller\
        -Dcom.arjuna.ats.jta.recovery.XAResourceRecovery1=com.arjuna.ats.internal.jdbc.recovery.BasicXARecovery\;abs://$CATALINA_HOME/conf/xa-recovery-properties.xml\ \;1"

6、启动

./bin/startup.sh

7、验证

启动成功,在浏览器中输入:

http://ip:8080/kie-server/services/rest/server

出现以下内容:

<response type="SUCCESS" msg="Kie Server info">
    <kie-server-info>
        <capabilities>KieServercapabilities>
        <capabilities>BRMcapabilities>
        <capabilities>BPMcapabilities>
        <capabilities>CaseMgmtcapabilities>
        <capabilities>BPM-UIcapabilities>
        <capabilities>BRPcapabilities>
        <capabilities>DMNcapabilities>
        <capabilities>Swaggercapabilities>
        <location>http://localhost:8080/kie-server/services/rest/serverlocation>
        <messages>
            <content>Server KieServerInfo{serverId='kie-server', version='7.11.0.Final', name='kie-server', location='http://localhost:8080/kie-server/services/rest/server', capabilities=[KieServer, BRM, BPM, CaseMgmt, BPM-UI, BRP, DMN, Swagger], messages=null}started successfully at Thu Feb 04 16:01:37 CST 2021content>
            <severity>INFOseverity>
            <timestamp>2021-02-04T16:01:37.993+08:00timestamp>
        messages>
        <name>kie-servername>
        <id>kie-serverid>
        <version>7.11.0.Finalversion>
    kie-server-info>
response>

表示启动成功。

验证是否已经注册到workbench中。登录上面安装的workbench服务器管理页面。

Tomcat8 安装drools7.11_第14张图片

点击servers。进入如图所示的页面,表示安装成功。

Tomcat8 安装drools7.11_第15张图片

如果安装不成功。可以去我配置好的资源文件中下载。下载地址为:
https://download.csdn.net/download/h_and_g/15116877

你可能感兴趣的:(drools,java技术栈,drools)