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());
        }
 
}
调用成功返回信息打印:

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
Drools Workbench是一个基于Web的规则引擎管理平台,用于创建、管理和部署Drools规则引擎。在Windows上部署Drools Workbench可以按照以下步骤进行: 1. 安装Java Development Kit(JDK):首先需要安装JDK,确保您的系统已经安装了适当版本的JDK。您可以从Oracle官方网站下载并安装最新版本的JDK。 2. 下载Drools Workbench:从Drools官方网站下载Drools Workbench的最新版本。您可以选择下载war文件或者二进制文件。 3. 配置环境变量:将JDK的安装路径添加到系统的环境变量中,以便可以在命令行中使用Java命令。 4. 启动Drools Workbench使用命令行进入Drools Workbench的安装目录,执行以下命令启动Drools Workbench: ``` java -jar drools-wb-<version>.war ``` 其中`<version>`是您下载的Drools Workbench的版本号。 5. 访问Drools Workbench:在浏览器中输入`http://localhost:8080/drools-wb`访问Drools Workbench的Web界面。 6. 配置数据库:Drools Workbench使用数据库来存储规则和相关数据。您可以选择使用内置的H2数据库或者其他数据库,如MySQL、PostgreSQL等。根据Drools Workbench的文档进行数据库配置。 7. 创建规则:在Drools Workbench的Web界面中,您可以创建规则、定义规则集、管理规则等。根据Drools Workbench的文档学习如何使用它来创建和管理规则。 8. 部署规则引擎:一旦您创建了规则,您可以将其部署Drools引擎中。Drools Workbench提供了部署规则的功能,您可以选择将规则部署为独立的规则包或者与其他应用程序集成。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Micrle_007

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值