kie-server workbench 的部署方式有很多,有tomcat(7.1*后停止发布tomcat版本)wildfly 部署 workbench 没什么问题,但是到kie-sever出各种稀奇古怪的毛病,最后使用docker的方式最方便易于使用!

1.docker 安装

首先本地按照docker,windows 需要 企业或专业版本,我用家庭版本,出现了一些安装问题

家庭版又不支持Hyper-V,docker是无法直接安装 解决方式详见下面链接

https://www.jianshu.com/p/1329954aa329

做好前期准备 去 docker官网 下载 建议注册,因为我发现不登录 官方的一些 文档无法查看

https://www.docker.com/products/docker-desktop

安装完之后,右键左面右下角的鲸鱼图标点击setting,然后点击Advance,适当调整以下虚拟机的cpu 内存等参数。

2.workbench 的安装

右键点击左下角windows,选择powershell

拉取镜像到本地

docker pull jboss/drools-workbench-showcase

官方的操作文档:

https://hub.docker.com/r/jboss/drools-workbench-showcase

执行运行命令:

docker run -p 8080:8080 -p 8001:8001 -d --name drools-workbench jboss/drools-workbench-showcase:latest

然后可以访问workbench

http://localhost:8080/business-central/kie-wb.jsp

workbench相关的账号密码在官方文档有

USER        PASSWORD    ROLE
*********************************************
admin       admin       admin,analyst,kiemgmt
krisv       krisv       admin,analyst
john        john        analyst,Accounting,PM
sales-rep   sales-rep   analyst,sales
katy        katy        analyst,HR
jack        jack        analyst,IT

3.kie-server安装

kie-server 安装也是先拉取镜像

docker pull jboss/kie-server-showcase

然后kie-server启动 和workbench 关联

这里需要注意的是 官方的文档地址:https://hub.docker.com/r/jboss/kie-server-showcase

启动命令 -link 的是 drools-wb:kie-wb

因为之前 -name drools-workbench  所以 我们 -link 应该是 drools-workbench:kie_wb

启动kie-server的命令是

docker run -p 8180:8080 -d --name kie-server --link drools-workbench:kie_wb jboss/kie-server-showcase:latest

kie-server安装完成

点击 http://localhost:8180/kie-server/services/rest/server/

可以查看kie-sever状态

4.应用

先在workbench中创建一个project

项目创建完成后,我们增加两个软件包 分别为 存储实体对象的bean和存储规则的rule

然后创建 数据对象 Person 在bean 目录下

创建规则 rule_001 在 rule目录下 并且导入 之前新建的对象 因为不在一个包下 所以 需要手动增加Person  对象

编写完成 校验后保存

设置kie base

设置如下:

然后保存

build 和 deploy 项目

然后查看 kie-server

进程配置如下:

服务器信息:http://localhost:8180/kie-server/services/rest/server/

容器信息:http://localhost:8180/kie-server/services/rest/server/containers

container-id 和 KSession 在java 代码中都有用

java端编码

pom 引入 (因为我获取的是最新版 目前是 7.31,如果jar 找不到 去中央仓库 下载到本地仓库中)

    <dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>4.11</version><scope>test</scope></dependency><dependency><groupId>org.drools</groupId><artifactId>drools-core</artifactId><version>7.31.0.Final</version></dependency><dependency><groupId>org.drools</groupId><artifactId>drools-compiler</artifactId><version>7.31.0.Final</version></dependency><dependency><groupId>org.kie.server</groupId><artifactId>kie-server</artifactId><version>7.31.0.Final</version></dependency><dependency><groupId>org.slf4j</groupId><artifactId>slf4j-api</artifactId><version>1.7.22</version></dependency><dependency><groupId>com.alibaba</groupId><artifactId>fastjson</artifactId><version>1.2.62</version></dependency>

在调用 Rest 接口前,需要先在本地定义一套与 WorkBench 中完全一致的数据对象,可以通过拷贝 Workbench 里面生成的源代码来快速实现,远程规则调用实现代码如下:


import com.alibaba.fastjson.JSONObject;
import com.idea.demo.bean.Person;
import org.kie.api.KieServices;
import org.kie.api.command.Command;
import org.kie.api.command.KieCommands;
import org.kie.api.runtime.ExecutionResults;
import org.kie.server.api.marshalling.MarshallingFormat;
import org.kie.server.api.model.ServiceResponse;
import org.kie.server.client.KieServicesClient;
import org.kie.server.client.KieServicesConfiguration;
import org.kie.server.client.KieServicesFactory;
import org.kie.server.client.RuleServicesClient;import java.util.LinkedList;
import java.util.List;/*** @author BothsHand* @date 2020-01-08*/
public class DockerTest {public static final String SERVER_URL = "http://127.0.0.1:8180/kie-server/services/rest/server";public static final String PASSWORD = "admin";public static final String USERNAME = "admin";public static final String KIE_CONTAINER_ID = "demo_1.0.0";public static void main(String[] args) {// KisService 配置信息设置KieServicesConfiguration kieServicesConfiguration =KieServicesFactory.newRestConfiguration(SERVER_URL, USERNAME, PASSWORD, 10000L);kieServicesConfiguration.setMarshallingFormat(MarshallingFormat.JSON);// 创建规则服务客户端KieServicesClient kieServicesClient = KieServicesFactory.newKieServicesClient(kieServicesConfiguration);RuleServicesClient ruleServicesClient = kieServicesClient.getServicesClient(RuleServicesClient.class);// 规则输入条件Person person = new Person();person.setAge(30);person.setSexy("boy");// 命令定义,包含插入数据,执行规则KieCommands kieCommands = KieServices.Factory.get().getCommands();List<Command<?>> commands = new LinkedList<Command<?>>();commands.add(kieCommands.newInsert(person, "Person"));commands.add(kieCommands.newFireAllRules());ServiceResponse<ExecutionResults> results = ruleServicesClient.executeCommandsWithResults(KIE_CONTAINER_ID,kieCommands.newBatchExecution(commands,"session1"));// 返回值读取Person value = (Person) results.getResult().getValue("Person");System.out.println(JSONObject.toJSON(value).toString());}}

调用成功返回信息打印:

Drools workbench kie-server部署和简单使用(全流程)相关推荐

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

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

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

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

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

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

  4. Drools WorkBench安装

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

  5. 发布Drools Workbench到Tomcat on Linux

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

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

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

  7. 关于Drools:kie引擎的rest接口调用学习笔记

    1. 想要调用rest接口,先准备Docker环境,参考官网安装教程或菜鸟教程. 2. workbench的安装: 1)打开Windows PowerShell 2)输入以下命令,从镜像仓库拉取dro ...

  8. RocketMQ实战与原理---安装、部署及简单应用

    RocketMQ实战与原理 第一章  安装.部署及简单应用 1. 安装 1.1 下载RocketMQ 2. 部署 2.1 部署nameserver 2.2 部署broker 2.3 新增Topic 3 ...

  9. 在Kubernetes上部署一个简单的、类PaaS的平台,原来这么容易!

    作者 | Bram Dingelstad 译者 | 弯月 责编 |徐威龙 封图| CSDN下载于视觉中国 我们都遇到过这种情况:有人发现了一个bug,然而这不是一般的软件bug,甚至都不是通常意义上的 ...

最新文章

  1. 非常详细的sift算法原理解析
  2. C语言问题,在位运算中,操作数每右移一位,其结果相当于什么?若左移1位,其结果相当于什么?
  3. 计算机丢失ac1st.dll怎么找回,CAD提示ac1st16.dll丢失修复步骤
  4. 第四范式与赛诺贝斯达成战略合作,开启MarTech新篇章
  5. Spring是如何利用“三级缓存“巧妙解决Bean的循环依赖问题
  6. 经验 | 没有导师的指导,研究生如何阅读文献、提出创见、写论文?
  7. python数组做参数_python完成数组格式的请求参数的加密计算
  8. [2017-10-26]Abp系列——DTO入参验证使用方法及经验分享
  9. eclipse中配置文件设置字符集
  10. 模糊层次分析法matlab,求三角模糊数层次分析法(FEAHP)模型计算的MATLAB程
  11. C++——oop思想
  12. 全球建筑物提取数据集(免费下载):微软/GlobalMLBuildingFootprints
  13. 计算机技术在我国的发展,计算机技术在我国热处理工业领域的应用和发展_阎承沛.pdf...
  14. 企业AD域(域控服务器)的安装和配置详细教程
  15. 2022-08-26 JQuery(二)
  16. linux下安装nodejs的方式
  17. php 统计磁盘大小,PHP_PHP统计目录大小的自定义函数分享,计算文件、磁盘分区和目录的 - phpStudy...
  18. cl.wedid.us index.php,Increase in sudden death from coronary artery disease in young adults
  19. 实习日记——Day47
  20. 微信小程序使用api接受数据

热门文章

  1. 14.3 配置SSTP运行环境
  2. Shell脚本-if else语句
  3. java里有没有字符串结束标志_string字符串以什么结尾
  4. linux端口隔离,华为交换机端口隔离命令
  5. 通过应用场景深度理解监控宝在业务中的实践价值
  6. Android手机内存管理与性能优化
  7. POJ-2243-Knight Moves
  8. FPGA中跨时钟域的信号处理--握手协议方式
  9. 推荐一个C#操作SVG图形矢量图的开源项目
  10. 鸿蒙手机内存,一图看懂鸿蒙2.0:终于上手机、128KB内存就能跑!