分享好友 最新动态首页 最新动态分类 切换频道
规则引擎 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接口

 

最新文章
人工智能的延伸:从 ChatGPT 到 GPT-4400
人工智能(AI)领域正在蓬勃发展,其中一个最令人兴奋的进步是生成式人工智能(Generative AI)。Generative AI 系统能够生成新的内容,例如文本、图像和音乐,这些内容类似于人类创造的内容。在 Generative AI 领域领先的系统之一是 ChatG
谷歌优化攻略,引领互联网财富增长新篇章
深度解析谷歌优化推广,揭示其如何引领互联钱新。通过优化搜索引擎排名,企业可吸引更多流量,提升品牌知名度,从而实现盈利增长。本文深入剖析谷歌优化推广策略,助您掌握互联网营销之道。随着互联网的飞速发展,越来越多的企业和个人开始
织梦DedeCMS开始商业授权收费,一个网站授权费5800元,您还用吗?
相信许多老对织梦系统都很熟了,不过如果你正在使用Dedecms织梦内容管理系统就需要注意了,从9月26日起尚未购买DedeCMS商业使用授权的话,那就可能面临遭官方索赔的风险。因为在本月26日,DedeCMS官方发布了《关于提醒办理 DedeCMS产品商业
社交媒体变革下的站长营销策略影响及应对策略
2025AI感悟图像,仅供参考  随着社交媒体平台的不断演变,站长们的营销策略也需要不断适应这些变化。近年来,我们见证了社交媒体平台从简单的图文分享到短视频、直播等多种形式的兴起,这对站长们的营销策略提出了新的挑战和机遇。  短
温州乐清铁定溜溜,吃喝玩乐住一站打卡!解锁超多玩法
  在温州乐清大荆镇,有一座国内规模最大的溜溜主题乐园——铁定溜溜,这是一个充满童趣和欢乐的地方。今天,与小编一起来感受一下这里的美好风光和无限魅力,解锁超多不一样的玩法。铁定溜溜  铁定溜溜是一个主要以铁皮石斛为核心,集
文艺晚会策划书剧本(五篇)
每个人都曾试图在平淡的学习、工作和生活中写一篇文章。写作是培养人的观察、联想、想象、思维和记忆的重要手段。大家想知道怎么样才能写一篇比较优质的范文吗?下面我给大家整理了一些优秀范文,希望能够帮助到大家,我们一起来看一看吧。
uc神马搜索广告表单推广怎么做
uc神马搜索广告表单推广怎么做,这是许多广告主都关心的问题。作为遵义腾浪科技有限公司的全平台广告开户推广渠道,我们为您提供了解答和解决方案。关键词:、、。在进行uc神马搜索广告表单推广之前,您需要进行广告开户。作为腾浪科技的渠
电脑硬盘重新分区教程「苹果电脑如何重新分区」
刚买的新电脑,一般情况下只有两个或四个盘符,很多人就需要给电脑重新进行分区,想要多设置几个分区,方便更好的管理电脑的各个数据。但是很多人不太会设置,下面小编就教大家两个方法快速给新电脑进行分区。使用电脑自带的磁盘管理来进行
打造卓越展示型,策略解析与实战攻略
构建高效展示型,本书提供全面策略与实战指南。涵盖设计、用户体验、内容优化、SEO技巧等多方面内容,助您打造专业、易用、流量高的展示型。从规划到实施,深入解析成功案例,提升竞争力。展示型的特点搭建策略解析实战操作手册在互联网的
相关文章
推荐文章
发表评论
0评