分享好友 最新动态首页 最新动态分类 切换频道
# 规则引擎说明
2024-12-27 02:46

平台中内置了规则引擎,,均由规则引擎执行.

名词说明:

  • RuleModel(规则模型):由多个,组成
  • RuleNode(规则节点): 规则节点描述具体执行的逻辑
  • RuleLink(规则连线): 用于将多个节点连接起来,将上一个节点的输出结果作为下一个节点的输入结果.
  • Input(输入): 规则节点的数据输入
  • Output(输出): 规则节点的数据输出
  • Scheduler(调度器): 负责将模型转为任务(),并进行任务调度到
  • Worker(工作器): 负责执行,维护任务.
  • ExecutionContext(执行上下文): 启动任务时的上下文,通过上下文获取输入输出配置信息等进行任务处理.
  • TaskExecutor(任务执行器): 具体执行任务逻辑的实现
  • TaskExecutorProvider(任务执行器提供商): 用于根据模型配置以及上下文创建任务执行器.
  • RuleData(规则数据): 任务执行过程中的数据实例
  1. 实现接口
  2. 在中配置Bean

脚本说明

脚本使用jsr223引擎, 通过调用内置变量handler.onMessage注册消息监听函数,当上游产生数据时,此函数将被调用,并传入数据.

例如:

通过指定输出数量值,可以控制输出到指定的节点,如:

你还可以通过上下文作用域保存,获取数据.

作用域

  • ctx.scope(String id)或者ctx.scope(RuleData ruleData)上下文作用域,根据ruleData.contextId决定.
  • ctx.node()当前节点作用域
  • ctx.node(String id)指定节点作用域
  • ctx.flow()当前流程作用域
  • ctx.flow(String id)指定流程作用域
  • ctx.flow(String id).node(String id)指定流程指定节点的作用域
  • ctx.global()全局作用域

作用域支持方法:

  • .all(String... key)获取指定key的数据,如果未指定这返回全部,类型为Mono<Map<String,Object>>
  • .get(String key)获取指定key的数据,返回类型为Mono<Object>
  • .put(String key,Object value)设置值,返回类型为Mono<Void>
  • .putAll(Map<String,Object>)设置多个值,参数为Map,返回类型为Mono<Void>
  • .clear()清空作用域,返回类型为Mono<Void>
  • .counter()获取计数器
  • .counter(String name)获取指定名字的计数器
  • .counter().inc(double number)计数器递增,返回最新值:Mono<Double>
  • .counter().dec(double number)计数器递减,返回最新值:Mono<Double>
  • .counter().getAndSet(double number)获取最新值后设置新的值,返回:Mono<Double>
  • .counter().setAndGet(double number)设置最新值后返回最新的值,返回:Mono<Double>

日志输出和错误处理

使用以下功能输出日志:

ctx.getLogger().debug("Log message {}",data); ctx.getLogger().warn("Warning"); ctx.getLogger().error("Error"); 使用以下功能触发错误:

throw new Error("错误"); throw new java.lang.RuntimeException("错误");

设备选择器说明

如果下发指令的设备是动态获取的,可使用表达式函数来获取设备并发送到对应到设备。

例如:

  • 获取产品ID为demo-device的设备:

  • 获取分组为demo-group下的设备:

  • 获取当前设备相同分组下的设备:

  • 获取标签supplier为测试厂商下的设备:

  • 按状态筛选 :,状态:

  • 函数的参数可以是固定的字符串,如:,也可以是上游节点传递的变量,如:

  • 多个表达式使用,分隔,例如:

最新文章
酒店预订小程序开发:打造高效便捷的在线预订平台
一、引言随着移动互联网的迅猛发展,小程序作为一种轻量级的应用形式,已经广泛应用于各行各业。酒店行业也不例外,越来越多的酒店开始开发自己的预订小程序,以提供更加便捷、高效的在线预订服务。本文将详细介绍酒店预订小程序的开发过程
vivo不讲武德,512GB+6000mAh+5000万双摄,如今低至1931元起
大家有没有发现今年下半年上市的主流国产高端机基本都涨价了?哪怕就是主打性价比的骁龙8至尊版手机起售价都已经来到了3699元,1999元买高通顶尖芯片的时代早已一去不复返了。如果你想要行业顶尖的性能,并且对拍照和质感等方面都有较高的
预测退休养老金最好的软件
内容摘要:关于退休养老金预测软件及查社保养老金下载哪个软件等热门问题,本文认为3进行计算和预测:软件会根据用户提供的信息结合相关政策和计算方法进行退休养老金的预测计算;其次,4查看结果和分析:软件会给出用户退休后的养老金收入
黔南通风气楼网上销售保障/按人气排行榜单
黔南通风气楼网上销售保障/按人气排行榜单在数字化时代,黔南通风气楼的网络销售已成为一种趋势。为确保消费者在线购买通风气楼时的权益,销售保障措施显得尤为重要。在产品选择上,销售平台应提供详尽的通风气楼信息,包括材质、性能、安
揭秘站长SEO工具,助力网站优化,高效提升搜索引擎排名
深度解析站长SEO工具,全方位助力网站优化,提高搜索引擎排名。本文详细介绍了站长SEO工具的功能、使用方法和技巧,帮助站长优化网站,实现流量增长和品牌提升。随着互联网的飞速发展,网站数量呈式增长,如何在众多网站中脱颖而出,成为广
最新抄歌流,音乐风尚与SEO优化策略,最新抄歌流,音乐风尚与SEO优化策略融合之道
摘要:最新抄歌流引领音乐风尚,结合SEO优化策略,提升音乐在线平台的曝光与流行度。通过关键词优化、热门话题跟踪及用户行为分析,提高歌曲搜索排名。借助社交媒体推广,增加用户互动与参与度,让音乐在竞争激烈的市场中脱颖而出。此举不
高清美女写真生成器:用AI画出你的梦想女神!
Midjourney:这个工具以其友好的用户界面和社区社交功能而出名,用户可以轻松分享并获取灵感。它生成的图片相对具有艺术感,适合那些追求独特风格的用户。其弱点在于允许的分辨率较低,不适合打印。Stable Diffusion:开放源代码,实现了超
靠谱!沈阳艺术生文化课冲刺班十大排名一览
辅导方式授课形式班型设置独特优势面授辅导全日制封闭式1对1老师1对1面对面辅导,私人定制个性化辅导方案及开课时间;*封闭半军事化管理,住宿安全舒适、作息健康规律、饮食营养丰富;专职班主任24小时和学生同吃同住,全心全意陪伴学生,
玉壶存冰心 朱笔写师魂——密山市二人班乡小学 李静
李静,中共党员,一级教师,大学本科学历。从教24年来一直扎根乡村教育,将“让生命因教育而精彩”作为教育理念,不断探索新时代教育教学方法,积极践行立德树人根本任务,坚持五育并举,促进学生全面优质而个性地发展。先后荣获“鸡西市教
【韬安前沿观察】国家市监总局调查英伟达 欧盟网络弹性法案生效
一、元宇宙与人工智能1. 巴西参议院批准人工智能使用规则2024年12月10日,巴西参议院一致通过了人工智能监管框架法案,该法案即将递交众议院进行表决。此法案确立了人工智能开发与使用的基本准则,强调技术应具备透明性、安全性、可靠性、
相关文章
推荐文章
发表评论
0评