第三十二章 开发Productions - ObjectScript Productions - 定义警报处理器 - 使用路由警报处理器

这篇具有很好参考价值的文章主要介绍了第三十二章 开发Productions - ObjectScript Productions - 定义警报处理器 - 使用路由警报处理器。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

第三十二章 开发Productions - ObjectScript Productions - 定义警报处理器 - 使用路由警报处理器

使用路由警报处理器

如果需要通过多种输出机制联系用户,警报处理器应该是一个业务流程,用于确定如何在消息中路由 Ens.AlertReques。在这种情况下,Productions必须为每个输出机制包含一个额外的业务操作,并且警报处理器将消息转发到这些业务操作。

将警报处理器定义为路由进程

要将警报处理器定义为路由流程,请创建一个可以在消息中接收 Ens.AlertRequest 的业务流程类。

业务流程将检查消息并将它们转发给不同的业务操作,具体取决于警报内容和包含的任何逻辑。

逻辑可能需要考虑以下因素:

  • 不同用户的不同要求
  • 根据一天中的时间不同的要求
  • 组织的问题解决政策和程序

可以在使用 EnsLib.MsgRouter.RoutingEngine类作为 Ens.Alert 路由进程。此类提供设置业务规则名称。如果将此设置指定为路由规则集的名称,则此业务主机会使用该规则集中的逻辑来转发它收到的所有消息。

定义业务操作

可以定义每个所需的业务操作,如使用简单电子邮件警报处理器或使用简单出站适配器警报处理器中所述。

将自定义代码添加到警报管理

警报管理允许将警报分配给用户、跟踪警报的状态以及管理解决警报的进度。有关警报管理的概述,请参阅配置警报管理,其中描述了如何配置警报管理组件以及定义警报管理的规则和数据转换。本节介绍如何将自定义代码添加到警报管理组件。

警报管理框架具有以下架构:

  • 托管警报在其整个生命周期中的单个持久对象。
  • Alert ManagerNotification ManagerAlert Monitor 具有相同的整体内部结构。当这些组件之一被调用时,它会分三个阶段执行其功能:
  1. 首先,如果组件由子类实现,则组件执行 OnProcess 方法。通过实施此方法,可以在组件中包含自定义代码。如果 OnProcess 方法设置了一个标志,指示处理已完成,则组件退出。
  2. 接下来,组件评估其规则或为通知管理器评估其数据转换,它设置控制组件操作的参数。
  3. 最后,组件根据规则设置的参数或组件配置设置的默认值执行其操作。
  • Alert Notification 操作是一个更简单的组件,它可以格式化消息并将消息转发到它的目的地。

警报管理器

警报管理器具有 Ens.Alerting.AlertManager类,并且必须命名为 Ens.Alert。警报管理器接收来自所有生产组件的警报。警报管理器可以根据规则中指定的条件将警报提升为托管警报。警报管理器将托管警报发送到通知管理器。

警报管理器分三个阶段执行:

  1. 如果组件的类覆盖了 OnCreateManagedAlert() 方法,则执行覆盖。可以提供自定义代码来处理警报请求并在此方法中创建托管警报。如果不希望基本警报管理器代码评估规则、创建托管警报并将其发送到通知管理器,应该将 tProcessingComplete 参数设置为 1。在这种情况下,警报管理器不会采取进一步的操作。
  2. 评估 CreateManagedAlertRule 规则。此规则可以访问 tAlertContext。如果它返回真值 (1),则警报管理器创建托管警报。如果它返回 false,则警报管理器不会创建托管警报,警报只会写入日志。警报上下文提供对以下内容的访问:
  • 传入警报
  • 为发出警报的组件配置的警报组
  • 为发出警报的组件配置的业务伙伴
  • 警报所有者

该规则可以通过返回 0 来禁止将警报提升为托管警报,或者可以通过返回 1 将警报提升为托管警报。

3. 如果规则将 tCreateAlert 设置为 1,则警报管理器会创建一个托管警报,或者,如果没有定义 CreateManagedAlertRule 规则,警报管理器将采取默认操作并创建一个托管警报。警报管理器通过调用 OnCreateManagedAlert() 方法创建托管警报,该方法可以被扩展 Ens.Alerting.AlertManager类覆盖。 OnCreateManagedAlert() 的默认实现在托管警报中设置生产名称,并将当前所有者设置为未分配,值为空字符串。如果警报管理器创建了托管警报,它会将其发送到通知管理器。

通知管理器

通知管理器具有 Ens.Alerting.NotificationManager类,负责确定要通知的组以及要使用的通知操作。

通知管理器分三个阶段执行:

  1. 如果组件的类覆盖了 OnProcessNotificationRequest() 方法,则执行覆盖。如果覆盖将 pProcessingComplete 参数设置为 1,则通知管理器不会评估转换或应用默认操作。
  2. 如果已配置,则执行数据转换。有关数据转换的信息,请参阅添加通知管理器并定义其数据转换。
  3. 如果转换将 target.Notify 属性设置为 1 或者没有数据转换,则通知管理器将警报通知发送到每个目标中列出的组件并将地址列表传递到目标。

通知管理器不接收或发送托管警报对象,而是使用通知请求对象,该对象包含对持久托管警报对象的引用。

警报监视器

警报监视器查询当前时间超过 NextActionTime 值的所有打开的托管警报。它进行以下 SQL 查询:

"SELECT ID FROM Ens_Alerting.ManagedAlert WHERE IsOpen = 1 AND NextActionTime <= ?"

其中 $$$timeUTC 返回的当前时间被指定为参数。

警报监视器分别处理每个返回的托管警报消息。对于每个托管警报,它分三个阶段进行处理:

  1. 如果组件的类覆盖了 OnProcessOverdueAlert() 方法,则执行覆盖。可以提供自定义代码来处理警报。如果不希望基本警报监视器代码评估规则、更新托管警报并将其发送到通知管理器,您应该将 tProcessingComplete 参数设置为 1。在这种情况下,警报监视器不会采取进一步的操作。
  2. 评估 OverdueAlertRule 规则。此规则可以访问 tOverdueContext。逾期上下文提供对以下内容的访问:
  • 传入警报
  • 当前时间
  • NewNextActionTime
  • NewEscalationLevel

该规则可以通过返回 0 来禁止发送提醒,可以通过设置 NewNextActionTime 来设置警报监视器下次找到托管警报的时间,或者可以通过设置 NewEscalationLevel 来升级或降级托管警报。

可以覆盖警报规则的上下文以及警报监视器如何处理结果:

  • 可以通过覆盖 GetOnOverdueAlertContext() 方法向警报规则上下文添加其他信息。
  • 可以通过覆盖 OnProcessOverdueRuleResult() 方法来覆盖警报监视器处理规则结果的方式。否则,在基类中执行此方法。 OnProcessOverdueRuleResult() 方法负责升级托管警报。覆盖可以访问托管警报、tOverdueContexttSendNotificationtNotificationType。请注意,您应该复制基类实现的功能或通过调用 ##super() 来调用它。
  1. 如果规则返回 1Alert Monitor 将托管警报发送到 Notification Manager

通知操作

通知操作向用户组发送通知。如果使用多种机制发送通知,可以为每种传输方法设置单独的通知操作。文章来源地址https://www.toymoban.com/news/detail-480059.html

到了这里,关于第三十二章 开发Productions - ObjectScript Productions - 定义警报处理器 - 使用路由警报处理器的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 第三十二章 Unity Mecanim动画系统(上)

    在上一章节中,我们介绍了Unity的旧版动画系统,本章节来介绍新版的Mecanim动画系统。新版的Mecanim动画系统实际是对旧版动画系统的升级。新版的Mecanim动画系统仍然是建立在动画片段的基础上的,只不过它给我们提供了一个可视化的窗口来编辑动画片段之间的切换逻辑。接

    2024年02月08日
    浏览(51)
  • 【正点原子STM32连载】 第三十二章 光敏传感器实验 摘自【正点原子】STM32F103 战舰开发指南V1.2

    本章,我们将学习使用STM32开发板板载的一个光敏传感器。我们还是要使用到ADC采集,通过ADC采集电压,获取光敏传感器的电阻变化,从而得出环境光线的变化,并在TFTLCD上面显示出来。 本章分为如下几个小节: 32.1 光敏传感器简介 32.2 硬件设计 32.3 程序设计 32.4 下载验证

    2024年02月03日
    浏览(75)
  • 第三十二章:CRM平台的安全与合规性

    客户关系管理(CRM)平台是企业与客户之间的关键沟通和交流桥梁。CRM平台存储了大量客户信息,包括个人信息、交易记录、客户需求等。因此,CRM平台的安全与合规性至关重要。 本章将深入探讨CRM平台的安全与合规性,涉及到的核心概念、算法原理、最佳实践、应用场景和工

    2024年02月22日
    浏览(52)
  • 第十五章 开发Productions - ObjectScript Productions - 开发Productions介绍

    互操作性产品允许连接可能使用不同通信协议和不同消息格式的系统。可以使用 Java 、 .NET 、 ObjectScript 、 SQL 或业务流程、数据转换和业务规则的图形编辑器来开发产品。 文档 互操作性生产概述 在 ObjectScript 中开发 使用 PEX 在 Java 或 .NET 中开发 使用 SQL 业务流程 ( BPL ) 数据

    2024年02月06日
    浏览(87)
  • 《微服务实战》 第三十二章 微服务链路跟踪-sleuth zipkin

    第三十二章 微服务链路跟踪-sleuth zipkin 第三十章 分布式事务框架seata TCC模式 第二十九章 分布式事务框架seata AT模式 第十二章 Spring Cloud Alibaba Sentinel 第十一章 Spring Cloud Alibaba nacos配置中心 第十章 SpringCloud Alibaba 之 Nacos discovery 第七章 Spring Cloud 之 GateWay 第六章 Spring Cloud 之

    2024年02月09日
    浏览(40)
  • 第二十五章 开发Productions - ObjectScript Productions - 发送请求消息

    在业务服务类中, OnProcessInput() 实现应该将请求消息发送到生产中的某个目的地。为此,根据需要调用业务服务类的以下实例方法之一: SendRequestSync() 同步发送消息(等待响应)。有关详细信息,请参阅使用 SendRequestSync() 方法。 - SendRequestAsync() 异步发送消息(不等待响应)

    2024年02月07日
    浏览(52)
  • 【正点原子FPGA连载】第三十二章OV5640摄像头RGB-LCD显示实验 摘自【正点原子】DFZU2EG/4EV MPSoC 之FPGA开发指南V1.0

    1)实验平台:正点原子MPSoC开发板 2)平台购买地址:https://detail.tmall.com/item.htm?id=692450874670 3)全套实验源码+手册+视频下载地址: http://www.openedv.com/thread-340252-1-1.html OV5640是OmniVision(豪威科技)公司生产的CMOS图像传感器,该传感器分辨率高、采集速率快,图像处理性能强,

    2023年04月08日
    浏览(59)
  • 【正点原子STM32连载】第三十二章 DMA实验 摘自【正点原子】APM32E103最小系统板使用指南

    1)实验平台:正点原子APM32E103最小系统板 2)平台购买地址:https://detail.tmall.com/item.htm?id=609294757420 3)全套实验源码+手册+视频下载地址: http://www.openedv.com/docs/boards/xiaoxitongban 本章介绍APM32E103直接存储访问(DMA)的使用,DMA能够在无CPU干预的情况下,实现外设与存储器或存储

    2024年02月22日
    浏览(56)
  • ROS学习第三十二节——xacro构建激光雷达小车

    https://download.csdn.net/download/qq_45685327/87718396 在前面小车底盘基础之上,添加摄像头和雷达传感器。 deamo02_base.xacro 摄像头 xacro 文件: deamo03_camera.xacro 雷达 xacro 文件: deamo04_laser.xacro deamo05_xacrocar.xacro demo06_xacrocar.launch deamo05_xacrocar.urdf

    2023年04月24日
    浏览(44)
  • 【从零开始学习JAVA | 第三十二篇】 异常(下)新手必学!

    目录 前言:  Exceptions(异常): 异常的两大作用: 异常的处理方式: 1.JVM默认处理  2.自己捕获异常 3.抛出处理 自定义异常: 异常的优点: 总结:         前文我们详细的为大家介绍了整个异常体系的框架,本篇我们将为大家介绍 Exceptions 异常,我们会讲解他的作用以及

    2024年02月15日
    浏览(69)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包