目录

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 &quot;%r&quot; %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的简介与使用相关推荐

  1. 发布Drools Workbench到Tomcat on Linux

    1.下载Tomcat7.XX+,并解压缩tomcat 2. 从Drools 官网下载最新的tomcat war包 kie-drools-wb-6.3.0.Final-tomcat7.war 并copy ...

  2. drools6.3+spring+Drools Workbench+activemq搭建风险控制系统

    根据业务的需求,从2015年10月份开始模式搭建一个风险控制系统,用于对实时交易的实时控制和非实时监控.当时上网搜索了一下,发现一个不错的框架drools,然后耗费了三个月,终于把drools引入到风 ...

  3. Drools WorkBench安装

    Drools WorkBench安装 Drools WorkBench 最新最后一个基于Tomcat安装的版本 WorkBench是KIE组件中的元素,也称为KIE-WB,是Drools-WB与JBP ...

  4. 用Docker搭建Drools Workbench Showcase

    Drools Workbench Showcase镜像的下载 运行Drools Workbench Showcase Drools Workbench Showcase镜像的下载   我们在java项 ...

  5. Docker安装drools workbench和kie-server,使用http调用kie-server rest接口传json参数跑规则

    Docker安装drools workbench和kie-server,使用http调用kie-server rest接口传json参数跑规则 安装Drools workbench 安装Kie-ser ...

  6. sso集成shiro_Keycloak SSO集成到jBPM和Drools Workbench中

    sso集成shiro 介绍 单一登录(SSO)和相关令牌交换机制正在成为Web上不同环境中身份验证和授权的最常见方案,尤其是在迁移到云中时. 本文讨论了Keycloak与jBPM或Drools应用程序 ...

  7. Keycloak SSO集成到jBPM和Drools Workbench中

    介绍 单一登录(SSO)和相关令牌交换机制正在成为Web上不同环境中进行身份验证和授权的最常见方案,尤其是在迁移到云中时. 本文讨论了Keycloak与jBPM或Drools应用程序的集成,以便使用K ...

  8. Drools workbench kie-server部署和简单使用(全流程)

    kie-server workbench 的部署方式有很多,有tomcat(7.1*后停止发布tomcat版本)wildfly 部署 workbench 没什么问题,但是到kie-sever出各种稀奇 ...

  9. mac下workbench轻松搭建(drools 7.11.0.Final版本)

    简介:workbench轻松搭建,就是搭建drools的页面环境.Drools Workbench是管理Drools和jBPM资产的Web应用程序和存储库. 1. 所需环境 1. windows操作系 ...

最新文章

  1. 前端每周清单半年盘点之 WebAssembly 篇
  2. HTML和CSS基础知识
  3. linux机器启动pg数据库命令,Linux下创建Postgresql数据库的方法步骤
  4. 怎么学python-如何系统的学习python?
  5. 【cmd】日期、时间格式化
  6. 课堂练习---最低价格买书
  7. pythonlocust使用方法_使用python的locust库进行性能测试
  8. 字符串替换:用参数字符数组成员替换字符串中的占位符(面试题)
  9. spring基础Bean管理基于xml注入
  10. 文艺编程 Literate Programming (原文中英文对照)
  11. 怎么将pom文件mysql驱动修改版本_JDBC-MySql基础操作详解
  12. Java 实验5 T3 将十进制转换为二进制
  13. linux 源代码安装mysql5.5_linux下通过源码包安装MySql5.5
  14. itools3.0服务器维护,APP Store失联?iTools3.0告诉你如何解决
  15. 使用flying saucer将html文件转成PDF
  16. selenium模拟12306登录
  17. 【日本中部电力公司开始着手区块链事业】
  18. 糗事百科爬虫用户统计
  19. python的星号(*)和双星号(**)运算符的使用
  20. ERP和SAP的一些名词解释

热门文章

  1. 第三章 Python Kivy 学习 -- Kivy官方入门教程Pong Game
  2. 12岁儿童手游充值超10万,“氪金”容易退款难如何破
  3. Pyspark机器学习:向量及其常用操作
  4. 03 文法产生式的解析<1>
  5. 6款精油平躁安神减压
  6. 关于微信小程序的坑uploadFile:fail Error: unable to verify the first certificate
  7. python三角网格代码_Python 实现 Delaunay Triangulation
  8. yamleasydict作为参数文件
  9. 阿里云启动docker,出现 minergate-cli ,CPU占用100%
  10. 大数据创新在广告营销中的应用(下)