分享好友 最新动态首页 最新动态分类 切换频道
规则引擎 drools_Java常用的规则引擎,让你变动的代码更加容易维护
2024-12-27 13:46

在本文中,我们将介绍Java中一些最受欢迎的规则引擎。

规则引擎 drools_Java常用的规则引擎,让你变动的代码更加容易维护

规则引擎由推理引擎发展而来,是一种嵌入在应用程序中的组件,实现了将业务决策从应用程序代码中分离出来,并使用预定义的语义模块编写业务决策。接受数据输入,解释业务规则,并根据业务规则做出业务决策。在Java中,大多数流行的规则引擎都实现JSR94

将规则引擎想象成一个以数据和规则作为输入的系统。它将这些规则应用于数据,并根据规则定义为我们提供输出。让我们以一个在线购物为例,我们希望为客户提供某些促销或折扣。

  • 如果购物车总额超过$ 400,可为客户提供20%的折扣。
  • 第一次下单给10%。

上面将购物车和客户定义为满足规则集中定义的条件的规则将在其中执行的数据。

Drools是业务规则管理系统(BRMS)解决方案。它提供了核心业务规则引擎(BRE,Web UI和规则管理应用程序(Drools Workbench,对符合性级别3的决策模型和注释(DMN)模型的完整运行时支持,以及用于核心开发的Eclipse IDE插件及Idea插件。

Drools 是一个基于Charles Forgy’s的RETE算法的,易于访问企业策略、易于调整以及易于管理的开源业务规则引擎,符合业内标准,速度快、效率高。 业务分析师人员或审核人员可以利用它轻松查看业务规则,从而检验是否已编码的规则执行了所需的业务规则。

Drools是开源软件,根据Apache Software License发布。它用100%纯Java™编写,可以在任何JVM上运行,并且在Maven Central存储库中也可用。

Drools 是业务逻辑集成平台,被分为5个项目

  • Drools Workbench (web UI )
  • Drools Expert (business rules engine)
  • Drools Fusion (complex event processing features)
  • jBPM (process/workflow integration for rule orchestration/flow)
  • OptaPlanner (automated planning)

Drools相关概念

事实(Fact:对象之间及对象属性之间的关系

规则(rule:是由条件和结论构成的推理语句,一般表示为if…Then。一个规则的if部分称为LHS,then部分称为RHS。

模式(module:就是指IF语句的条件。这里IF条件可能是有几个更小的条件组成的大条件。模式就是指的不能在继续分割下去的最小的原子条件。

以下是EasyRule的一些核心特点

  • 轻量级规则引擎API。
  • 基于注释和POJO。
  • 支持复合规则构造。
  • 支持表达语言(如MVEL和SpEL)来定义规则。

简单了解下easyRule

核心概念

Rule : 包含规则执行的条件与动作,描述,优先级别。属于最基本配置。

Facts:输入对象。

RulesEngine:规则引擎执行核心。

简单了解下使用例子

添加Maven 依赖

  • 以声明方式使用注释。
  • 务实地使用流利的API。
  • 使用表达语言
  • 使用规则描述符。

让我们看几个例子

声明式注解

Maven依赖

要将RuleBook添加到项目中,请在pom.xml文件中添加以下依赖项

Hello World

  • Business Rules Engines(业务规则引擎)
  • WebStudio
  • Web services(web服务)
  • Rule repository(基于JCR的实现的规则库

核心概念

Rules规则是由条件,操作和返回值组成的逻辑语句

Tables列出了OpenL Tablets处理的基本信息,例如规则和数据

Projects 是处理规则相关信息所需的所有资源的容器。通常,一个简单的项目仅包含带有规则的Excel文件。

maven依赖

EasyRule更加简洁,我们现在就是使用的这个解决方案。

根据自身的业务需要,选择更加符合的业务引擎方案。

文章整理不易,个人微信公共账号,每周两篇干货分享。

头条号每周两篇干货分享。
最新文章
龙鞭保健酒加盟
           龙鞭保健酒智慧之选优势:(一)、多方面的综合市场调查:公司定期进行各种专业市场调研并把各种数据进行科学分析、汇总为您下一步运作市场提供更充分的参考依据。(二)、全程的市场策划:1、公司聘请着名营销策划为目标市
梦幻西游总共有多少种兽决
梦幻西游总共有多少种兽决?梦幻西游中获得兽决需要人物总经验达到一定的数量,目前游戏中共有多少种类呢,好像还有很多小伙伴还不清楚,接下来,小编就带大家来观看下吧。答:12种。须弥真言:主要是增加魔力*40%的法术伤害力,瞬法必备技
闲聊热播剧《叛逆者》中出现的时代元素:康可尔咖啡馆、罗便臣邮政局与德律风
热播剧《叛逆者》展示的故事背景是本世纪三四十年代的上海、香港与陪都重庆的风貌。在电视剧一开始,国民党特务林楠笙伪装成进步青年,想接近年轻的地下党朱怡祯,由于不知道对方的真实身份与真实目的,由童瑶扮演的朱怡祯和半真半假地喜欢
Python 爬虫从入门到进阶之路(四)
之前的文章我们做了一个简单的例子爬取了百度首页的 html,我们用到的是 urlopen 来打开请求,它是一个特殊的opener(也就是模块帮我们构建好的)。但是基本的 urlopen() 方法不支持代理、cookie等其他的HTTP/HTTPS高级功能,所以我们需要
零基础搭建技术博客,分享与成长的个人平台
从零搭建技术博客网站,分享技术心得与成长。涵盖网站搭建、内容创作、SEO优化等实用技巧,助你成为技术领域的创作者与专家。挑选理想的博客平台购置域名与服务器构建博客平台优化博客体验持续更新与维护伴随着互联网的迅猛发展,越来越多
人工智能的延伸:从 ChatGPT 到 GPT-4400
人工智能(AI)领域正在蓬勃发展,其中一个最令人兴奋的进步是生成式人工智能(Generative AI)。Generative AI 系统能够生成新的内容,例如文本、图像和音乐,这些内容类似于人类创造的内容。在 Generative AI 领域领先的系统之一是 ChatG
谷歌优化攻略,引领互联网财富增长新篇章
深度解析谷歌优化推广,揭示其如何引领互联钱新。通过优化搜索引擎排名,企业可吸引更多流量,提升品牌知名度,从而实现盈利增长。本文深入剖析谷歌优化推广策略,助您掌握互联网营销之道。随着互联网的飞速发展,越来越多的企业和个人开始
织梦DedeCMS开始商业授权收费,一个网站授权费5800元,您还用吗?
相信许多老对织梦系统都很熟了,不过如果你正在使用Dedecms织梦内容管理系统就需要注意了,从9月26日起尚未购买DedeCMS商业使用授权的话,那就可能面临遭官方索赔的风险。因为在本月26日,DedeCMS官方发布了《关于提醒办理 DedeCMS产品商业
社交媒体变革下的站长营销策略影响及应对策略
2025AI感悟图像,仅供参考  随着社交媒体平台的不断演变,站长们的营销策略也需要不断适应这些变化。近年来,我们见证了社交媒体平台从简单的图文分享到短视频、直播等多种形式的兴起,这对站长们的营销策略提出了新的挑战和机遇。  短
相关文章
推荐文章
发表评论
0评