分享好友 最新动态首页 最新动态分类 切换频道
Java规则引擎easy-rules
2024-12-26 22:23

首先以通俗的语言表达何为规则引擎
一段代码

 

上述代码中循环了100次,从1开始循环+1.
如果当前数字能被5、7整除。打印:能被5和7同时整除的数字
其余的数字依次打印出来。

其实上面例子中的如果就是我们希望的规则,由此可见当我们业务上遇到较为复杂多样的规则的时候,代码中会出现满篇的if–else。降低代码的易读性、增加代码行数,后期修改规则繁复等等的弊端都体现出来。因此我们用到了规则引擎,也就是今天的主人公——easy-rules

Easy Rules是一个简单但功能强大的Java规则引擎,提供以下特性:

  • 轻量级框架和易于学习的API
  • 基于POJO的开发
  • 支持从原始规则创建组合规则
  • 支持通过表达式(如MVEL,SPEL和JEXL)定义规则

先从一段源码来了解

 

evaluate()方法封装了必须为true才能触发规则的条件。
execute()方法封装了在满足规则条件时应该执行的操作。
条件和操作由Condition和Action接口表示。
总结来说,我们可以通过定义Condition来判断是否执行此规则,通过Action来决定执行什么样的规则。

上面大概讲述了一下rule的基本结构,下面我们来探讨下究竟如何使用

完整的示例需要几个东西要讲一下,大家耐心看完

  • 第一点:Easy Rules提供了注解,可以将POJO转换为规则
 

上面代码中,我们自己通过注解的方式先定义了一个规则,以及规则是否执行的条件,执行的内容。

  • 第二点:上面代码中的注解是什么意思呢

源码

 

实际上是一个事实,name代表了在事实中的命名,value则是实际要传递的参数。

Facts API表示一组事实 所以在同一空间内,fact的name不可重复。

 
  • 第三点:建立规则引擎
 

规则引擎参数
Easy Rules引擎可以配置以下参数:

  • :当优先级超过指定的阈值时,跳过余下的规则。
  • :当一个规则成功应用时,跳过余下的规则。
  • :当一个规则失败时,跳过余下的规则。
  • :当一个规则未触发时,跳过余下的规则。

示例

 
简单了解了以上三点,便可以进行一个简单的程序了

按照我们开篇的例子来说

循环100次,从1开始循环+1.
如果当前数字能被5、7整除。打印:能被5和7同时整除的数字
其余的数字依次打印出来。

把上述规则建立起来 ↓

 
 

使用


最新文章
小红书聚光平台新手入门投放指南(小红书聚光平台|一站式广告投放平台)
小红书聚光平台上线2年多了,有人晓得这个平台,也有很多人不晓得。不过没关系,今天我从头到尾,通知你有关聚光平台的一切信息,内容很干,请大家搬个小板凳坐下仔细浏览。本内容适合广告主、广告投手。聚光平台是小红书推出广告推行平台
企业能源审计与可持续发展战略考核试卷
企业能源审计与可持续发展战略考核试卷考生姓名:答题日期:得分:判卷人:本次考核旨在评估考生对企业能源审计与可持续发展战略的理解和应用能力,通过考察考生对能源审计流程、可持续性原则、相关法规与标准及其实际案例分析等方面的掌握
On the Radar: 百度智能云千帆大模型平台加速企业多模态生成式AI应用落地
Omdia 观点生成式AI已在各行各业得到广泛应用。在开源和专有大型语言模型(LLM)的推动下,生成式AI已应用于所有行业的120个应用场景中。虽然基于LLM的应用程序越来越受欢迎,但其本身仍存在固有的局限性。LLM主要针对文本和语音数据的理解
实战攻略,SEO网站排名优化,全方位提升流量与可见性
本教程为SEO网站排名优化实战攻略,涵盖全方位提升网站流量与可见性的技巧。从关键词研究、内容优化、链接建设到技术SEO,提供化的优化方法,助您快速提升网站排名,吸引更多潜在客户。随着互联网的飞速发展,网站已经成为企业展示形象、拓
直通车是按照什么扣费的?扣费原则介绍
在网上开店的商家比较多,想要将店肆在很多店肆中脱颖而出,那么需要使用一些推行工具进行营销,直通车是大部分商家会进行使用的,可是它是依照什么扣费的了?1、淘宝直通车是依照点击扣费的,没有点击只展示的话不扣费的,最高不超过您的出
wordpress主题模板制作实用工具推荐
工欲善其事必先利其器,在制作wordpress主题模板时,有一个得心应手的工具很重要,下面为大家分享一个,非常实用的代码编辑器EditPlus。 EditPlus简介 EditPlus是一款由韩国 Sangil Kim (ES-Computing)出品的小巧
WordPress爱前端主题模板
WordPress爱前端主题模板,兼容PC,平板电脑,智能手机等各种设备,强壮的主题设置面板,无限主题颜色,专题列表 + 专题页面,三级下拉菜单支撑。wordpress主题模板截图
餐饮小程序系统开发:打造高效便捷的餐饮服务新体验
随着移动互联网的迅猛发展,餐饮行业也迎来了数字化转型的浪潮。餐饮小程序作为连接餐饮企业与消费者的桥梁,凭借其便捷性、高效性和个性化服务,逐渐成为餐饮市场的新宠。本文将详细介绍餐饮小程序系统的开发流程、功能特点以及市场应用,
相关文章
推荐文章
发表评论
0评