02 Drools Workbench 構建規則併發布Maven倉
2:新建一個項目 Add Project ,輸入名字和描述,例子:AgeHandler
填寫數據對象名稱(就是java類的名字),軟件包我一般選擇com.myteam
6:創建DSL文件,點擊“Add Asset”,選擇“DRL文件”
package com.myteam; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import com.myteam.Student; rule "AgeHandlerRule" salience 100 lock-on-active true when $queryParama : Student(age >=18) then final Logger LOGGER = LoggerFactory.getLogger("Infer Adult 規則引擎") ; LOGGER.info("成年人"); delete($queryParama); end |
根據自己的Maven地址,配置環境變量新建 M2_HOME ,E:\apache-maven-3.6.1
一開始我的沒有生效,重啓電腦,才生效的;啓動之後,在項目中Setting確認一下;
注意-Maven的settings.xml中,添加了 <localRepository> E:\respository</localRepository>
查看Drools Workbench的 Drools-tomcat路徑\bin\repositories\kie\global ,已存在
找到Maven對應的倉respository地址,查看,已經構建成功
連接直接訪問:
http://localhost:8080/kie-drools-wb/maven2/com/myteam/excepHandler/1.0.0/ageHandler-1.0.0.jar
Maven+Drools開發是在項目中新建FACT參數對象和DRL規則文件,
Maven+Drools Workbench則是:引用Workbench根據Jar(包含FACT對象,DRL規則文件)打好的Pom,發佈到Maven倉庫中,項目中直接通過Pom引入,通過kieSession調用規則;
10:拓展
Maven引用Drools Workbench倉 代碼很簡單
代碼地址(裏面有些沒用的代碼)
鏈接:https://pan.baidu.com/s/1N8n4Fm2X0yLFfKeAzYZh4Q 提取碼:0u99
(1):註釋掉之前RuleEngineConfig的代碼,RuleEngineConfig是引入本地規則的引擎配置
(2):新建DroolsAutoConfig類,
與上面相呼應