分享好友 最新动态首页 最新动态分类 切换频道
# 规则引擎说明
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为测试厂商下的设备:

  • 按状态筛选 :,状态:

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

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

最新文章
沈阳惠天热电股份有限公司 第十届董事会2024年第七次临时会议决议公告
登录新浪财经APP 搜索【信披】查看更多考评等级  证券代码:000692          证券简称:     公告编号:2024-69  沈阳惠天热电股份有限公司  第十届董事会2024年第七次临时会议决议公告  本公司及董事会全体成员保
掌握SEO精髓,五大步骤助你从入门到精通
学习SEO五大步骤详解,包括了解基础概念、选定目标关键词、优化网站结构和内容、建立外部链接以及持续监控和分析。从入门到精通,掌握这些步骤,提升网站在搜索引擎中的排名。随着互联网的快速发展,搜索引擎优化(SEO)已经成为企业提升网
百度手机端排名优化怎么做如何做好SEO百度手机端网站布局
想知道网站优化如何能提高百度首页排名吗?想知道关键词排名怎样才能快速准确的优化到首页吗?接下来我就和大家共同探讨一下这个问题,以下是我个人的拙见,仅供各位参考,希望对各位在网站优化及关键词优化时,有所帮助,如有不对,烦请指
手机怎么和平板同步
随着科技的发展,智能手机和平板电脑已成为我们日常生活中不可或缺的工具。为了提升用户体验,实现手机与平板之间的数据同步变得尤为重要。以下是几种实现手机与平板同步的方法,帮助您在不同设备间无缝切换。**1. 使用云服务**云服务是实
淘宝数据有哪些要素?作者:小果 时间:2024-12-20 阅读:250
淘宝店铺的运营涉及到了众多层面的数据,这些数据可以大致分为以下几大类别:1. 流量追踪数据:此类数据涵盖了店铺的浏览量、访客数量、转化率等关键指标。通过这些数据,我们可以更精准地分析店铺的流量来源、流量质量以及潜在的优化方向
《孙氏宗谱_共二十八卷_江苏孙氏》民国三年(1914)_二十四.pdf
江苏[孙姓] 孙氏宗谱二十八卷 — 民国三年(1914)_二十四.pdf
電商seo是指,電子商務中seo的中文意思
電商SEO是指什麼?帶你全面瞭解電商SEO的秘密!你可能會問:電商SEO和傳統SEO有什麼區別呢?其實,電商SEO更強調針對性。相比於傳統SEO,電商SEO更加注重產品頁面的優化、用戶體驗的提升以及銷售轉化率的提高。因為在電商網站中,用戶的最終目的是
谷歌排名优化推广指南:做好3个方面 排名一定好
  想要做谷歌SEO优化获得好的排名,不需要有一个完整且清晰的SEO排名优化方案!今天优易化谷歌排名优化指南将会从:谷歌排名优化架构布局、谷歌SEO站内优化、谷歌SEO站外推广等几个方面;为大家讲解如何做好谷歌SEO排名优化,给大家提供
相关文章
推荐文章
发表评论
0评