windows下搭建drools workbench(可視化配置)及drools語法

語法:

https://www.docin.com/p-1875054030.html

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.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.propertiesresources.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.xmlHibernate配置,從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>

啓動tomcat

啓動如果不報錯,過一會兒你會發現MySQL的drools庫裏面自動創建了很多表,主要是workbench使用的,如下圖所示:

等tomat完全啓動起來,打開http://IP:8080/kie-wb,出現登錄頁面,基本上就是安裝成功了。

輸入admin/admin(在tomcat-users.xml中配置的用戶名和密碼),登錄後,出現workbench的主界面,可以創建項目,規則等,具體規則引擎的詳細用法和案例且聽下回分解。

Workbench主要實現了Drools rule的version control和auto load機制。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章