分享好友 最新动态首页 最新动态分类 切换频道
规则引擎 Easy rule 使用总结
2024-12-27 12:50

    easy Rule就是一个轻量级的规则引擎,它可以直接注入spring bean类,可以查看github上对它的介绍:GitHub - j-easy/easy-rules: The simple, stupid rules engine for Java

      easy rules是一个简单而强大的java规则引擎,它有以下特性

  • 轻量级框架
  • 学习成本低
  • 基于POJO 为定义业务引擎提供有用的抽象和简便的应用
  • 从原始的规则组合成复杂的规则

它主要包括几个主要的类或接口:Rule,RulesEngine,RuleListener,Facts

还有几个主要的注解@Action,@Condition,@Fact,@Priority,@Rule

使用easy rules有两种方式

  1. 实现Rule接口,并实现其evaluate和execute方法。
  2. 使用@Rule注解修饰POJO

目录

EasyRule源码

几种创建规则的方式

使用easy Rule实战


查看下源码

 

由上面代码可以知道:一个规则由名称、描述、优先级三个属性和判断、执行两个方法组成,实现Rule接口,和使用@Rule,@Condition,@Action,@Priority,@Fact注解的效果是一样的。
 

 

 RulesEngine负责检查和开启规则,同时可以得到规则引擎的参数和规则监听器列表

 

RuleListener  规则执行过程的监听器,可以监听规则是否触发,规则执行的结果

 
 

Facts就是一个hashmap,通过注解@Fact(String value),其中的value是map的key,可以拿到Facts中的value。

大致的步骤

  1. 创建各种规则,即rule.可以通过 pojo 或 RuleBuilder API 两种方式创建。
  2. 创建规则容器Rules rules = new Rules();
  3. 注册创建的规则rules.add(rule);
  4. 创建流,即facts.流控制规则的参数输入.Facts facts = new Facts();facts.add("参数名", 参数值);
  5. 创建引擎,即RulesEngine。
  6. 由引擎把facts和rules结合进行处理,RulesEngine.fire(rules, facts);
  • 流式创建规则
 
 

  • 注解形式
 
  •  创建规则文件
 

解析yml规则文件

 
  • 注解加流式形式创建规则
 

 加载规则到规则引擎,并注入参数触发规则

 
 

下面给出自己的一个使用easy rule规则引擎调用业务类的例子

1:封装 规则引擎

 

可以看到上面我是直接注入的参数是业务类,Spring管理的业务类,并且直接调用业务类方法,并且传入参数。

具体的注入参数,以及业务类

这里我写了一个线程池,通过阻塞队列来并发执行规则

 

我们通过上面注入的规则监听器去监听规则的执行情况 ,下面是我自己定义的监听类,实现类  RuleListener接口

 

最新文章
用AI绘画技术生成高清美女写真,轻松成为数字艺术大师!
在数字时代,生成艺术品的方式正在悄然改变。你是否曾梦想拥有自己理想的美女写真?而如今,借助人工智能技术,我们不仅可以实现这样的愿望,还能让生成过程变得轻松而有趣。那么,如何通过AI生成超逼真的美女写真呢?本文将带你探索这场科
震惊科技圈!他被发现死在家中,年仅26岁
点击上方蓝字,再点服务,点击听广播!今天(12月14日)北京时间12月14日旧金山首席法医办公室称曾在OpenAI工作近四年的前员工Suchir Balaji最近被发现死在他位于旧金山的公寓中旧金山首席法医办公室执行主任David Serrano Sewell周五已在
龙鞭保健酒加盟
           龙鞭保健酒智慧之选优势:(一)、多方面的综合市场调查:公司定期进行各种专业市场调研并把各种数据进行科学分析、汇总为您下一步运作市场提供更充分的参考依据。(二)、全程的市场策划: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产品商业
相关文章
推荐文章
发表评论
0评