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类,
与上面相呼应