语法:

1 概述

由于项目的需要,采用规则引擎进行代码结构优化,选型为Drools6,因为需要支持Rule规则的版本管理以及自动更新,所以需要采用Workbench进行Rule的管理。

几点关键信息:

  1. 采用Drools6.4.0版本
  2. Tomcat7, Java JDK1.7
  3. MySQL 5.7社区版
  4. 之前在Windows上部署过一次Workbench,但貌似使用中有些未知问题,感觉驾驭不了,本次安装是使用Ubuntu Linux 16.04 LTS,安装在本地的一个虚拟机上,虚拟机采用VMware Workstation 12 Player

2 详细安装步骤

2.1 应用依赖的操作系统,系统软件安装

Ubuntu, MySQL, Tomcat, JDK,请自行Google或者百度经验(虽然百度联合莆田系伤害了我们,但百度经验还算是一个不错的产品,内容质量基本上靠谱),此处省略。

 

2.2 下载Drools6.4.0 Workbench

到http://www.drools.org/download/download.html 官方下载Workbench(kie-drools-wb-distribution-wars-6.4.0.Final-tomcat7.war)。

unraid可视化docker_xml

2.3 Workbench依赖的第三方tomcat lib Jar包

这些jar包是Workbench运行所必须的,需要放置在TOMCAT_HOME/lib目录下,主要是bitronix transaction manager组件,共有如下包:

btm-2.1.4.jar
btm-tomcat55-lifecycle-2.1.4.jar
h2-1.3.168.jar
javax.security.jacc-api-1.5-javadoc.jar
jboss-jacc-api_1.4_spec-1.0.3.Final.jar
jta-1.1.jar
kie-tomcat-integration-6.2.0.Final-java.jar
kie-tomcat-integration-6.4.0.Final.jar
log4j-1.2.17.jar
mysql-connector-java-5.1.38.jar
slf4j-api-1.7.7.jar
slf4j-log4j12-1.7.7.jar

已打包在此,请下载使用:下载

下载后请解压至TOMCAT_HOME/lib目录下。

 

2.4 解压 kie-drools-wb-distribution-wars-6.4.0.Final-tomcat7.war

解压 kie-drools-wb-distribution-wars-6.4.0.Final-tomcat7.war至TOMCAT_HOME/webapps,并修改名字为:kie-wb,修改名字主要是为了管理和访问方便。

2.5 在TOMCAT_HOME/conf目录创建配置文件(btm-config.properties和resources.properties)

* btm-config.properties

************************ sample btm-config.properties *************************

bitronix.tm.serverId=tomcat-btm-node0

bitronix.tm.journal.disk.logPart1Filename=${btm.root}/work/btm1.tlog

bitronix.tm.journal.disk.logPart2Filename=${btm.root}/work/btm2.tlog

bitronix.tm.resource.configuration=${btm.root}/conf/resources.properties




*******************************************************************************
* resources.properties

************************ sample resources.properties **************************

resource.ds1.className=bitronix.tm.resource.jdbc.lrc.LrcXADataSource

resource.ds1.uniqueName=jdbc/jbpm

resource.ds1.minPoolSize=10

resource.ds1.maxPoolSize=20

resource.ds1.driverProperties.driverClassName=com.mysql.jdbc.Driver

resource.ds1.driverProperties.url=jdbc:mysql://192.168.3.8:3306/drools?characterEncoding=utf-8

resource.ds1.driverProperties.user=drools

resource.ds1.driverProperties.password=drools

resource.ds1.allowLocalTransactions=true

*******************************************************************************

2.6 修改TOMCAT_HOME/conf下面的context.xml

增加Drools数据库配置:

<Resource name="jdbc/jbpm" auth="Container" type="javax.sql.DataSource"

driverClassName="com.mysql.jdbc.Driver"

url="jdbc:mysql://192.168.3.8:3306/drools?characterEncoding=utf-8"

username="drools"

password="drools"

maxActive="20"

maxIdle="1"

maxWait="5000" />

unraid可视化docker_xml_02

2.7 修改persistence.xml的Hibernate配置,从H2Dealect修改为MySQL5Dialect

因为本次部署使用的是MySQL数据库,所以需要更改Hibernate的Dialect配置,修改 TOMCAT_HOME/webapps/kie-wb/WEB-INF/classes/META-INF/persistence.xml

<property name="hibernate.dialect" value="org.hibernate.dialect.MySQL5Dialect"/>

2.8 定义system properties for btm.root, bitronix config file, Jboss logging provider and others

在TOMCAT_HOME/bin目录下创建setenv.sh. 内容如下

CATALINA_OPTS="-Xmx512M -XX:MaxPermSize=512m -Dbtm.root=$CATALINA_HOME \

-Dbitronix.tm.configuration=$CATALINA_HOME/conf/btm-config.properties \

-Djbpm.tsr.jndi.lookup=java:comp/env/TransactionSynchronizationRegistry \

-Djava.security.auth.login.config=$CATALINA_HOME/webapps/kie-wb/WEB-INF/classes/login.config \

-Dorg.jboss.logging.provider=jdk"

 

2.9 Add valve configuration into TOMCAT_HOME/conf/server.xml

在server.xml文件中z<Host>标签内添加下面一行,一定要作为最后一个valve:

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

unraid可视化docker_unraid可视化docker_03

2.10 编辑TOMCAT_HOME/conf/tomcat-users.xml,确保有analyst和admin角色定义存在,将被授权使用kie-wb

<?xml version='1.0' encoding='utf-8'?>
<tomcat-users >
  <role rolename="admin"/>
  <role rolename="analyst"/>
  <role rolename="HR"/>
  <role rolename="kie-server"/>
  <role rolename="PM"/>
  <role rolename="user"/>
  <user username="kieserver" password="kieserver1!" roles="admin,kie-server"/>//账号密码
  <user username="admin" password="admin" roles="admin,analyst,PM,HR,kie-server"/>//账号密码
</tomcat-users>

3 启动tomcat

启动如果不报错,过一会儿你会发现MySQL的drools库里面自动创建了很多表,主要是workbench使用的,如下图所示:

等tomat完全启动起来,打开http://IP:8080/kie-wb,出现登录页面,基本上就是安装成功了。

输入admin/admin(在tomcat-users.xml中配置的用户名和密码),登录后,出现workbench的主界面,可以创建项目,规则等,具体规则引擎的详细用法和案例且听下回分解。

Workbench主要实现了Drools rule的version control和auto load机制。