Drools workbench kie-server部署和简单使用(全流程
https://blog.csdn.net/zhang907743237/article/details/103959531
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部署和简单使用(全流程相关推荐
- Drools workbench kie-server部署和简单使用(全流程)
kie-server workbench 的部署方式有很多,有tomcat(7.1*后停止发布tomcat版本)wildfly 部署 workbench 没什么问题,但是到kie-sever出各种稀奇 ...
- drools6.3+spring+Drools Workbench+activemq搭建风险控制系统
根据业务的需求,从2015年10月份开始模式搭建一个风险控制系统,用于对实时交易的实时控制和非实时监控.当时上网搜索了一下,发现一个不错的框架drools,然后耗费了三个月,终于把drools引入到风 ...
- 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安装
Drools WorkBench安装 Drools WorkBench 最新最后一个基于Tomcat安装的版本 WorkBench是KIE组件中的元素,也称为KIE-WB,是Drools-WB与JBP ...
- 发布Drools Workbench到Tomcat on Linux
1.下载Tomcat7.XX+,并解压缩tomcat 2. 从Drools 官网下载最新的tomcat war包 kie-drools-wb-6.3.0.Final-tomcat7.war 并copy ...
- Docker安装drools workbench和kie-server,使用http调用kie-server rest接口传json参数跑规则
Docker安装drools workbench和kie-server,使用http调用kie-server rest接口传json参数跑规则 安装Drools workbench 安装Kie-ser ...
- 关于Drools:kie引擎的rest接口调用学习笔记
1. 想要调用rest接口,先准备Docker环境,参考官网安装教程或菜鸟教程. 2. workbench的安装: 1)打开Windows PowerShell 2)输入以下命令,从镜像仓库拉取dro ...
- RocketMQ实战与原理---安装、部署及简单应用
RocketMQ实战与原理 第一章 安装.部署及简单应用 1. 安装 1.1 下载RocketMQ 2. 部署 2.1 部署nameserver 2.2 部署broker 2.3 新增Topic 3 ...
- 在Kubernetes上部署一个简单的、类PaaS的平台,原来这么容易!
作者 | Bram Dingelstad 译者 | 弯月 责编 |徐威龙 封图| CSDN下载于视觉中国 我们都遇到过这种情况:有人发现了一个bug,然而这不是一般的软件bug,甚至都不是通常意义上的 ...
最新文章
- C++利用二级指针做函数形参来进行修改实参的实例分析
- vue.js $refs和$emit 父子组件交互
- 2.5亿存款丢失案储户6问质疑工行 句句戳痛点
- Python基础教程:list列表、tuple元组、range常用方法总结
- Zencart的首页php 301,Zencart 做了301重定向后不能登陆网站后台的解决方案
- 分布式 虚拟时间和虚拟同步_分布式虚拟跟踪
- C 线程的使用~(上)
- 作者:张志恒(1990-),男,兰州大学资源环境学院硕士生。
- maven的依赖和聚合
- 结合实例学习F#(二) --基本数据类型Discriminated Unions
- OpenStack安装流程(juno版)- 添加镜像服务(glance)
- Helpful links
- WAP中推送技术的分析与设计
- 网售鞋王Zappos的戏剧性成功:做到极致
- PDMS开发使用的pml界面设计器
- matlab对两组数据画图,matlab两列数据画图
- picGo图片上传到码云失败,报错404-{“message”:“Branch”}的解决方法
- 腾讯云副总裁王慧星:持续加大基础设施投入规模和自研创新力度
- 什么是smart原则,有什么好的例子
- Easyexcel 获取表格具体位置的内容