1 概述
由于项目的需要,采用规则引擎进行代码结构优化,选型为Drools6,因为需要支持Rule规则的版本管理以及自动更新,所以需要采用Workbench进行Rule的管理。
几点关键信息:
-
采用Drools6.4.0版本
-
Tomcat7, Java JDK1.7
-
MySQL 5.7社区版
-
之前在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)。
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数据库配置:
2.7 修改persistence.xml的Hibernate配置,从H2Dealect修改为MySQL5Dialect
因为本次部署使用的是MySQL数据库,所以需要更改Hibernate的Dialect配置,修改 TOMCAT_HOME/webapps/kie-wb/WEB-INF/classes/META-INF/persistence.xml
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
2.10 编辑TOMCAT_HOME/conf/tomcat-users.xml,确保有analyst或者admin角色定义存在,将被授权使用kie-wb
3 启动tomcat
启动如果不报错,过一会儿你会发现MySQL的drools库里面自动创建了很多表,主要是workbench使用的,如下图所示:
等tomat完全启动起来,打开http://IP:8080/kie-wb,出现登录页面,基本上就是安装成功了。
输入admin/admin(在tomcat-users.xml中配置的用户名和密码),登录后,出现workbench的主界面,可以创建项目,规则等,具体规则引擎的详细用法和案例且听下回分解。
Workbench主要实现了Drools rule的version control和auto load机制。