Drools7.5.0教程(7)-workserver部署

Drools7.5.0教程(7)-workserver部署

drools,是由JBOSS公司开源的一套基于JAVA的规则引擎系统

server介绍

server为drools的一个组件,drools通过workbench 打包开发部署到server上,server为规则JAR包提供了一个宿主容器,这样其他服务就可以通过http的方式,调用对应规则,这样的好处在于,要调用drools可以不再引用JAR包,并可以通过workbench功能定时扫描,实时部署。其简略的部署图如下:

Drools7.5.0教程(7)-workserver部署_第1张图片

server部署过程

  1. 下载依赖jar包:
    javax.security.jacc:javax.security.jacc-api
    org.kie:kie-tomcat-integration
    org.slf4j:artifactId=slf4j-api
    org.slf4j:artifactId=slf4j-jdk14
    放入tomcat/lib目录下,懒得下载可以戳我下载依赖包下载地址

  2. 下载h2数据库依赖包
    H2数据库驱动包

  3. 下载服务端war包
    进入https://www.drools.org/download/download.html,下载
    Drools7.5.0教程(7)-workserver部署_第2张图片
    解压,zip包,得到 kie-server-7.4.1.Final-webc.war,解压,修改为kie-server,放入tomcat/webapps目录下。

  4. 修改tomcat-users.xml 文件如下():

    
    <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="admin"/>
    <role rolename="PM"/>
    <role rolename="HR"/>
    <role rolename="analyst"/>
    <role rolename="user"/>
    <role rolename="kie-server"/>
    <user username="admin" password="admin" roles="admin,analyst,PM,HR,kie-server"/>
    <user username="kieserver" password="kieserver1!" roles="admin,kie-server"/>
    tomcat-users>
    
  5. 修改 tomcat/conf/context.xml

    "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. 如果workbench 与 server不在同一tomcat上,需要再tomcat/conf/server.xml 中最后一个host内新增

    <Valve className="org.kie.integration.tomcat.JACCValve" />
  7. 在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>
  8. 新增或修改 setenv.sh 或者 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=kie-server -Dorg.kie.server.location=http://127.0.0.1:8080/kie-server/services/rest/server -Dorg.kie.server.controller=http://127.0.0.1:8080/kie-drools-wb/rest/controller"
    set CATALINA_OPTS=-Xms512M -Xmx512M -Djava.security.auth.login.config=%CATALINA_HOME%/webapps/kie-drools-wb/WEB-INF/classes/login.config -Dorg.jboss.logging.provider=jdk -Djbpm.tsr.jndi.lookup=java:comp/env/TransactionSynchronizationRegistry  -Dorg.kie.server.persistence.ds=java:comp/env/jdbc/jbpm -Djbpm.tm.jndi.lookup=javacomp/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://127.0.0.1:8080/kie-server/services/rest/server -Dorg.kie.server.controller=http://127.0.0.1:8080/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
    

    其中
    Dorg.kie.server.location ,为kie-server访问地址
    Dorg.kie.server.controller ,为部署workbench地址

  9. 启动tomcat,在workbench server会出现如下服务器
    Drools7.5.0教程(7)-workserver部署_第3张图片

  10. 懒得配置的同学可以下载这个资源,里面是已经配置好的tomcat,只要按照教程 将工作台与 服务端放入即可运行
    drools7.5.0 tomcat下载(windows)

你可能感兴趣的:(Drools7.5.0教程(7)-workserver部署)