語法:
https://www.docin.com/p-1875054030.html
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數據庫配置:
<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" />
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" />
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機制。