drools开源规则引擎介绍以及在Centos上的具体部署方案,让你的业务规则能够独立于应用程序本身

在这里插入图片描述

Drools是一个基于Java的开源规则引擎,用于处理业务规则和复杂事件处理。它提供了一个声明性的规则语言,允许开发人员定义业务规则,并通过引擎执行这些规则。以下是Drools规则引擎的简介和一些应用场景描述。

Drools规则引擎简介

  1. 规则引擎概述 Drools规则引擎是由JBoss支持的一个开源项目,它提供了一个强大的规则引擎,用于执行业务规则。规则引擎的主要目标是将业务规则从应用程序代码中分离出来,使其更易于理解、维护和修改。

  2. Drools语法 Drools使用基于DSL(领域特定语言)的语法,允许开发人员以自然语言的方式定义规则。规则通常由条件(when部分)和操作(then部分)组成,描述了在特定条件下执行的操作。

  3. 基本概念 规则(Rule): 业务规则的基本单元,由条件和操作组成。 条件(When): 规定了规则在何时触发的条件部分。 操作(Then): 规定了规则在触发时执行的操作部分。

  4. Drools引擎执行流程 接收事实(Facts) 匹配规则的条件部分 执行符合条件的规则的操作部分 生成新的事实

Drools引擎应用场景描述

  1. 业务规则管理 Drools可用于管理和执行复杂的业务规则。这使得业务规则能够独立于应用程序进行修改和扩展,提高了灵活性。

  2. 决策支持系统 在决策支持系统中,Drools可以用于评估不同条件下的决策,并提供最佳的决策结果。这对于需要考虑多个因素的决策过程非常有用。

  3. 实时事件处理 Drools支持复杂事件处理(CEP),可用于实时监控和处理事件流。这在金融领域的实时交易监控等场景中非常有用。

  4. 数据验证和过滤 Drools可以用于验证和过滤数据,确保数据符合特定的业务规则和条件。

drools部署方案:

部署jboss/drools-workbench-showcase 这是UI前端操作界面

docker地址:
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
访问地址:
http://192.168.62.33:8080/business-central
用户名密码:admin/admin

部署jboss/kie-server-showcase 具体后端执行服务的

docker地址:
https://hub.docker.com/r/jboss/kie-server-showcase
命令:
docker run -p 8180:8080 -d --name kie-server --link
drools-workbench:kie_wb jboss/kie-server-showcase:latest
自动关联到drools-workbench部署服务

PS:命名项目名称需要全小写,否则会有未知调用错误 发布需要预先配置kiebase和kiesession

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/328290.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

如何在C#中读取USB转串口参数并显示在ComboBox

如何在C#中读取USB转串口参数并显示在ComboBox 在很多应用程序中,尤其是那些需要与外部硬件通信的程序中,自动检测和读取串口参数是一个非常有用的功能。在本文中,我们将讨论如何在C#中实现这一功能,重点是如何自动识别通过USB转换…

SQL Server 数据类型

文章目录 一、文本类型(字母、符号或数字字符的组合)二、整数类型三、精确数字类型四、近似数字(浮点)类型五、日期类型六、货币类型七、位类型八、二进制类型 一、文本类型(字母、符号或数字字符的组合) 在…

单元测试之Stub和Mock

实例 Analyze类会检查filename的长度,如果小于8,我们就会使用一个实现IWebService的类来记录错误. 我们需要给Analyze方法写单元测试。 public class LogAnalyzer {private IWebService service;private IEmailService email;public IWebService Serv…

20240116使用Firefly的AIO-3399J的预编译的Android10固件确认RT5640声卡信息

20240116使用Firefly的AIO-3399J的预编译的Android10固件确认RT5640声卡信息 2024/1/16 17:55 百度:RK3399 ALC5640 RK3399 RT5640 BING:RK3399 ALC5640 LINE-IN接麦克风不会有声音的。 耳机只有右边有声音,但是偏小,可以通过音量…

Python pip install 也能踩坑!

难得有心情、空余时间上手 Scrapy,前一段时间看到一个很好的免费壁纸网站,想着下手爬取看看,反正还有一个 500G 的硬盘在吃灰,用于存放美图不是不可以。也是很久没接触 Scrapy,上一次使用还是上一次,先准备…

软件测试|解决Github port 443 : Timed out连接超时的问题

前言 GitHub是全球最大的开源代码托管平台之一,许多开发者和团队使用它来管理和协作开源项目。但在当下,我们在clone或者提交代码时会经常遇到"GitHub Port 443: Timed Out"错误,这意味着我们的电脑无法建立与GitHub服务器的安全连…

redis之单线程和多线程

目录 1、redis的发展史 2、redis为什么选择单线程? 3、主线程和Io线程是怎么协作完成请求处理的? 4、IO多路复用 5、开启redis多线程 1、redis的发展史 Redis4.0之前是用的单线程,4.0以后逐渐支持多线程 Redis4.0之前一直采用单线程的主…

【PyTorch】在PyTorch中使用线性层和交叉熵损失函数进行数据分类

在PyTorch中使用线性层和交叉熵损失函数进行数据分类 前言: 在机器学习的众多任务中,分类问题无疑是最基础也是最重要的一环。本文将介绍如何在PyTorch框架下,使用线性层和交叉熵损失函数来解决分类问题。我们将以简单的Iris数据集作为起点…

Linux 批量添加 known_hosts

前言 我们在做完linux ssh 免密登录后,通常会执行一些自动化任务(比如启动Spark集群),也就是需要ssh到每台节点执行相同命令。但是有一个问题就是如果 known_hosts 文件中不存在这个ip的话,在第一次连接时会弹出确认公…

【小笔记】算法基础超参数调优思路

【学而不思则罔,思维不学则怠】 9.29 本文总结一下常见的一些超参数调优思路 Batch_size 2023.9.29 简单来说,较大的bz可以加快训练速度,特别是基于GPU进行模型训练时,应该在显存允许范围内,尽量使用较大的bz。两个…

超实用+全覆盖!17个大分类,近500款主流实用精品AI工具导航,太贴心了!总有一款适合你。

超实用全覆盖!17个大分类,近500款主流实用精品AI工具导航,太贴心了!总有一款适合你。 大家好!我是老码农。 今天给大家分享的这个工具导航:非常棒。 那棒在哪里呢? 第1点:非常垂…

SpringAOP-说说 Spring AOP 和 AspectJ AOP 区别

Spring AOP Spring AOP 属于运行时增强,主要具有如下特点: 基于动态代理来实现,默认如果使用接口的,用 JDK 提供的动态代理实现,如果是方法则使用 CGLIB 实现Spring AOP 需要依赖 IOC 容器来管理,并且只能…

IOS-相机权限申请-Swift

配置描述 在Info.plist文件中,新建一个键值对Privacy - Camera Usage Description(或者NSCameraUsageDescription),值为申请描述说明,自定义的 申请 然后在需要申请的文件中导入AVFoundation import AVFoundation…

nodejs学习计划--(一)初始nodejs

1. 介绍nodejs Node.js是什么? Node.js是一个开源的,跨平台的Javascript运行环境 通俗来讲:Node.js就是一款应用程序,是一款软件,它可以运行JavaScript Node.js的作用: 开发服务器应用开发工具类应用开发…

美国 SEC 批准比特币现货 ETF 上市,SEC 告诉我们的风险包含哪些?

撰文:Will 阿望 查看原文:美国 SEC 批准比特币现货 ETF 上市,SEC 告诉我们的风险包含哪些? 历经十年的 BTC ETF 艰辛审批之路终于迎来了胜利的曙光,2024 年 1 月 11 日凌晨 4 时,美国证监会(S…

浅谈Vue中监听属性—watch监听器的使用方法

目录 💡 监听属性的概念 💡 watch有什么作用 💡 watch的基本语法 💡 监听属性的优缺点 💡 使用watch的场景 💡 监听属性的概念 在计算机科学中,watch是一种调试技术,用于监视程…

【SQL】SQL语法小结

相关资料 参考链接1:SQL 语法(超级详细) 参考链接2:史上超强最常用SQL语句大全 SQL练习网站:CSDN、牛客、LeetCode、LintCode SQL相关视频: 推荐书籍: 文章目录 数据分析对SQL的要求SQL语法简介…

onlyoffice源码编译

环境准备 官网要求CPU dual core 2 GHz or better RAM at least 2 GB, but depends of the host OS. More is better HDD at least 40 GB of free space SWAP at least 4 GB, but depends of the host OS. More is better SoftwareOS 64-bit Ubuntu 16.04 The solution has be…

ARM day1

一、概念 ARM可以工作的七种模式用户、系统、快中断、中断、管理、终止、未定义ARM核的寄存器个数 37个32位长的寄存器,当前处理器的模式决定着哪组寄存器可操作,且任何模式都可以存取: PC(program counter程序计数器) CPSR(current program…

QT上位机开发(dock窗口在软件布局中的应用)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing 163.com】 在软件开发中,一般有主窗口和子窗口之分。主窗口也就是main window,是最重要的操作界面。子窗口就是各种属性配置、参数配置…