Drools WorkBench的简介与使用
目录
WorkBench简介
配置 Tomcat
启动服务器
WorkBench使用
创建空间、项目
创建数据对象和drl文件
设置KieBase+KieSession
代码使用
WorkBench简介
WorkBench是KIE组件中的元素,也称为KIE-WB,是Drools-WB与JBPM-WB的结合体。它是一个可视化的规则编辑器。WorkBench其实就是一个war包。
WorkBench经过几次版本迭代,已经不提供tomcat启动的war包,综合考虑,本课程仍然采用 tomcat版本作为演示。
环境:
apache-tomcat-9.0.29
kie-drools-wb-7.6.0.Final-tomcat8 下载地址:Drools - Download
说明:
准备jar包:需要放到tomcat lib中,否则启动失败
具体安装步骤:
配置 Tomcat
1.修改tomcat-user.xml,添加用户
<?xml version="1.0" encoding="UTF-8"?>
<tomcat-users xmlns="http://tomcat.apache.org/xml"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://tomcat.apache.org/xml tomcat-users.xsd"version="1.0"><!--定义admin角色--><role rolename="admin"/><!--定义一个用户,用户名为kie,密码为kie,对应的角色为admin角色--><user username="kie-web" password="kie-web123" roles="admin"/><user username="admin" password="admin" roles="manager-gui,manager-script,manager-jmx,manager-status"/>
</tomcat-users>
此账号密码用于登录WorkBench管理控制台
2.修改server.xml
<Host name="localhost" appBase="webapps"unpackWARs="true" autoDeploy="true"><!-- SingleSignOn valve, share authentication between web applicationsDocumentation at: /docs/config/valve.html --><!--<Valve className="org.apache.catalina.authenticator.SingleSignOn" />--><!-- Access log processes all example.Documentation at: /docs/config/valve.htmlNote: The pattern used is equivalent to using pattern="common" --><Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"prefix="localhost_access_log" suffix=".txt"pattern="%h %l %u %t "%r" %s %b" /><Valve className="org.kie.integration.tomcat.JACCValve"/></Host>
host节点下添加<Valve className="org.kie.integration.tomcat.JACCValve"/>
3.复制jar到tomcat根目录的lib下面:
kie-tomcat-integration-7.10.0.Final.jar
javax.security.jacc-api-1.5.jar
slf4j-api-1.7.25.jar
4.复制 kie-drools-wb-7.6.0.Final-tomcat8.war 到tomcat webapp下面并修改成kie-web.war
启动服务器
启动tomcat
访问http://localhost:8080/kie-web,可以看到WorkBench的登录页面。使用前面创建的kie-web/kie-web123登录
WorkBench使用
创建空间、项目
首页中点击 project,创建空间
我们创建一个 mashibing 的工作空间。点击 Save,保存。
点击工作空间当中的 mashibing,进入空间
点击Add Project添加项目
成功后,我们可以看见下图
左上角的导航条,可以在空间和project之间切换
创建数据对象和drl文件
切换到pro1项目内,点击 Create New Assert
选中数据对象:
输入Order,点击确定,成功后跳转如下页面
Order相当于我们代码中的实体类,在左侧 Project Explorer视图中,可以看见项目结构
接下来添加字段,点击添加字段按钮:
ID 位置,输入java bean的字段,标签是备注信息,类型选择对应的字段类型,保存,点击创建,关闭弹窗,点击创建并继续,可以继续创建。
点击右上角的保存,至此,一个数据对象我们就创建完成,可以在源代码中查看代码内容。
接下来我们创建一个drl文件,创建过程跟创建bean类似,drl文件内容如下
package com.mashibing.pro1;rule "rule_1"when$order:Order(age > 10)thenSystem.out.print("rule run...");
end
设置KieBase+KieSession
项目首页点击Settings
选择知识库跟会话
弹出窗口,输入Kiebase名称即可,我们以kb1为例
操作完成后,不要忘记保存,此时,我们可在Project Explorer视图中,resource/METAINF/kmodule.xml中看见如下信息
<kmodule xmlns="http://www.drools.org/xsd/kmodule" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><kbase name="kb1" default="false" eventProcessingMode="stream" equalsBehavior="identity" packages="com.mashibing.pro1"><ksession name="ks1" type="stateful" default="true" clockType="realtime"/></kbase>
</kmodule>
导航回到项目首页,进行编译发布
发布成功后,我们可以在maven仓库中看到对应的jar
也可以访问:http://localhost:8080/kie-web/maven2/com/mashibing/pro1/1.0.0/pro1-1.0.0.jar 验证是否发布成功
代码使用
@Testpublic void test() throws Exception{//通过此URL可以访问到maven仓库中的jar包//URL地址构成:http://ip地址:Tomcat端口号/WorkBench工程名/maven2/坐标/版本号/xxx.jarString url = "http://localhost:8080/kie-web/maven2/com/mashibing/pro1/1.0.0/pro1-1.0.0.jar";KieServices kieServices = KieServices.Factory.get();UrlResource resource = (UrlResource) kieServices.getResources().newUrlResource(url);//认证resource.setUsername("kie-web");resource.setPassword("kie-web123");resource.setBasicAuthentication("enabled");KieRepository repository = kieServices.getRepository();//通过输入流读取maven仓库中的jar包数据,包装成KieModule模块添加到仓库中KieModule kieModule = repository.addKieModule(kieServices.getResources().newInputStreamResource(resource.getInputStream()));KieContainer kieContainer = kieServices.newKieContainer(kieModule.getReleaseId());KieSession session = kieContainer.newKieSession();Order order = new Order();order.setName("张三");order.setAge(30);session.insert(order);session.fireAllRules();session.dispose();}
我们用URL流的方式,获取jar资源,并构造kiesession对象,即可动态访问workbench中的规则
Drools WorkBench的简介与使用相关推荐
- 发布Drools Workbench到Tomcat on Linux
1.下载Tomcat7.XX+,并解压缩tomcat 2. 从Drools 官网下载最新的tomcat war包 kie-drools-wb-6.3.0.Final-tomcat7.war 并copy ...
- drools6.3+spring+Drools Workbench+activemq搭建风险控制系统
根据业务的需求,从2015年10月份开始模式搭建一个风险控制系统,用于对实时交易的实时控制和非实时监控.当时上网搜索了一下,发现一个不错的框架drools,然后耗费了三个月,终于把drools引入到风 ...
- Drools WorkBench安装
Drools WorkBench安装 Drools WorkBench 最新最后一个基于Tomcat安装的版本 WorkBench是KIE组件中的元素,也称为KIE-WB,是Drools-WB与JBP ...
- 用Docker搭建Drools Workbench Showcase
Drools Workbench Showcase镜像的下载 运行Drools Workbench Showcase Drools Workbench Showcase镜像的下载 我们在java项 ...
- Docker安装drools workbench和kie-server,使用http调用kie-server rest接口传json参数跑规则
Docker安装drools workbench和kie-server,使用http调用kie-server rest接口传json参数跑规则 安装Drools workbench 安装Kie-ser ...
- sso集成shiro_Keycloak SSO集成到jBPM和Drools Workbench中
sso集成shiro 介绍 单一登录(SSO)和相关令牌交换机制正在成为Web上不同环境中身份验证和授权的最常见方案,尤其是在迁移到云中时. 本文讨论了Keycloak与jBPM或Drools应用程序 ...
- Keycloak SSO集成到jBPM和Drools Workbench中
介绍 单一登录(SSO)和相关令牌交换机制正在成为Web上不同环境中进行身份验证和授权的最常见方案,尤其是在迁移到云中时. 本文讨论了Keycloak与jBPM或Drools应用程序的集成,以便使用K ...
- Drools workbench kie-server部署和简单使用(全流程)
kie-server workbench 的部署方式有很多,有tomcat(7.1*后停止发布tomcat版本)wildfly 部署 workbench 没什么问题,但是到kie-sever出各种稀奇 ...
- mac下workbench轻松搭建(drools 7.11.0.Final版本)
简介:workbench轻松搭建,就是搭建drools的页面环境.Drools Workbench是管理Drools和jBPM资产的Web应用程序和存储库. 1. 所需环境 1. windows操作系 ...
最新文章
- 前端每周清单半年盘点之 WebAssembly 篇
- HTML和CSS基础知识
- linux机器启动pg数据库命令,Linux下创建Postgresql数据库的方法步骤
- 怎么学python-如何系统的学习python?
- 【cmd】日期、时间格式化
- 课堂练习---最低价格买书
- pythonlocust使用方法_使用python的locust库进行性能测试
- 字符串替换:用参数字符数组成员替换字符串中的占位符(面试题)
- spring基础Bean管理基于xml注入
- 文艺编程 Literate Programming (原文中英文对照)
- 怎么将pom文件mysql驱动修改版本_JDBC-MySql基础操作详解
- Java 实验5 T3 将十进制转换为二进制
- linux 源代码安装mysql5.5_linux下通过源码包安装MySql5.5
- itools3.0服务器维护,APP Store失联?iTools3.0告诉你如何解决
- 使用flying saucer将html文件转成PDF
- selenium模拟12306登录
- 【日本中部电力公司开始着手区块链事业】
- 糗事百科爬虫用户统计
- python的星号(*)和双星号(**)运算符的使用
- ERP和SAP的一些名词解释
热门文章
- 第三章 Python Kivy 学习 -- Kivy官方入门教程Pong Game
- 12岁儿童手游充值超10万,“氪金”容易退款难如何破
- Pyspark机器学习:向量及其常用操作
- 03 文法产生式的解析<1>
- 6款精油平躁安神减压
- 关于微信小程序的坑uploadFile:fail Error: unable to verify the first certificate
- python三角网格代码_Python 实现 Delaunay Triangulation
- yamleasydict作为参数文件
- 阿里云启动docker,出现 minergate-cli ,CPU占用100%
- 大数据创新在广告营销中的应用(下)