SpringBootAdmin邮件通知

在上一篇中我们学习到了 Admin Service Clustering 分布式缓存配置 ,这一篇我们来学习,客户端离线,出现故障的时候,我们这么能及时知道呢,发现邮件通知也许是最简单的方式了!

邮件通知

邮件通知将作为使用Thymeleaf模板呈现的HTML电子邮件进行传递。要启用邮件通知
将spring-boot-starter-mail添加到admin Service 依赖中:
pom.xml:

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-mail</artifactId>
</dependency>

配置文件中加入配置

application.properties:

spring.mail.host = smtp.163.com
spring.mail.username=miraitowa1796@163.com
spring.mail.password=xxxxxxxxx //自己的授权码
spring.boot.admin.notify.mail.to=miraitowa1796@163.com //邮件收件人
spring.boot.admin.notify.mail.from=miraitowa1796@163.com //邮件发件人

我们这里以网易邮箱来做测试,在做发送测试前,大家先去注册一下,并且在设置里面去开启服务;
在这里插入图片描述
开启后会给一个授权码,一定要保持起来,这就是配置文件中的密码,请大家注意

代码中配置通知提醒配置

客户端离线和重启的时候发送邮件通知,创建NotifierConfiguration类:

/**
 * @author qrn
 * @version 1.0
 * @date 2021/4/9 17:53
 * 邮箱事件配置: 通知提醒 每10分钟发送一次提醒
 */
@Configuration(proxyBeanMethods = false)
public class NotifierConfiguration {

    private final InstanceRepository repository;

    private final ObjectProvider<List<Notifier>> otherNotifiers;


    public NotifierConfiguration(InstanceRepository repository, ObjectProvider<List<Notifier>> otherNotifiers) {
        this.repository = repository;
        this.otherNotifiers = otherNotifiers;
    }

    @Bean
    public FilteringNotifier filteringNotifier() { // <1>
        CompositeNotifier delegate = new CompositeNotifier(this.otherNotifiers.getIfAvailable(Collections::emptyList));
        return new FilteringNotifier(delegate, this.repository);
    }

    /**
     * 重启/离线应用程序发送提醒
     * @return
     */
    @Primary
    @Bean(initMethod = "start", destroyMethod = "stop")
    public RemindingNotifier remindingNotifier() { // <2>
        RemindingNotifier notifier = new RemindingNotifier(filteringNotifier(), this.repository);
        notifier.setReminderPeriod(Duration.ofMinutes(10)); //提醒将每10分钟发送一次
        notifier.setCheckReminderInverval(Duration.ofSeconds(10)); //安排每10秒发送一次到期提醒
        return notifier;
    }
}

配置成功了之后,启动adminservice,在启动客服端,在然后停掉客户端,等待片刻,看是否会有邮件发送,如果收到那么就是配置成功了
客服端离线发送的邮件:
在这里插入图片描述
当前客户端重新启动上线发送的邮件:
在这里插入图片描述
说明上述我们配置成功了。

邮件通知配置选项

名称描述默认值
spring.boot.admin.notify.mail.enabled启用邮件通知true
spring.boot.admin.notify.mail.ignore-changes以逗号分隔的状态更改列表将被忽略。格式:“ <从状态>:<至状态>”。允许使用通配符。"UNKNOWN:UP"
spring.boot.admin.notify.mail.template用于渲染的Thymeleaf模板的资源路径。"classpath:/META-INF/spring-boot-admin-server/mail/status-changed.html"
spring.boot.admin.notify.mail.to逗号分隔的邮件收件人列表"root@localhost"
spring.boot.admin.notify.mail.cc逗号分隔的复本收件人列表
spring.boot.admin.notify.mail.from邮件发件人"Spring Boot Admin <noreply@localhost>"
spring.boot.admin.notify.mail.additional-properties可以从模板访问的其他属性

配置实例demo代码地址:
SpringBootAdminDemo
欢迎大家在下面讨论,学习。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/348003.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

​在 Linux ​中管理用户

在 Linux 系统中&#xff0c;用户是系统资源的主要使用者&#xff0c;每个用户都有一个唯一的标识符&#xff08;用户ID&#xff09;。为了更好地组织和管理用户&#xff0c;Linux 还引入了用户组的概念。用户组是用户的集合&#xff0c;有助于更有效地分配权限和资源。 用户是…

LabVIEW工业机器人系统

介绍了ABB工业机器人与LabVIEW之间进行数据交互的解决方案。通过使用TCP/IP协议的socket通信&#xff0c;实现了机器人坐标数据的读取&#xff0c;为人机交互提供了一个更便捷、更高效的新思路。 系统主要由ABB工业机器人、基于TCP/IP协议的通信接口和LabVIEW软件组成。工业机…

Excel:将截面数据转换成面板数据

原始截面数据如下&#xff1a; 步骤&#xff1a;数据——自表格/区域 点击确定&#xff0c;出现下图&#xff1a; 然后&#xff0c;在这个界面选择&#xff1a;“转换”——“逆透视列”下选择逆透视其他列。会出现面板数据形式。 然后&#xff0c;点击“主页”——关闭并上载即…

day16打卡

day16打卡 104. 二叉树的最大深度 递归法时间复杂度&#xff1a;O(N)&#xff0c;空间复杂度&#xff1a;O(N) class Solution { public:int maxDepth(TreeNode* root) {if(root nullptr) return 0;return 1 max(maxDepth(root->left), maxDepth(root->right));} };…

Android Settings 显示电池点亮百分比

如题&#xff0c;Android 原生 Settings 里有个 电池电量百分比 的选项&#xff0c;打开后电池电量百分比会显示在状态栏。 基于 Android 13 &#xff0c; 代码在 ./packages/apps/Settings/src/com/android/settings/display/BatteryPercentagePreferenceController.java &am…

springboot125汽车资讯网站

简介 【毕设源码推荐 javaweb 项目】基于springbootvue 的125汽车资讯网站 适用于计算机类毕业设计&#xff0c;课程设计参考与学习用途。仅供学习参考&#xff0c; 不得用于商业或者非法用途&#xff0c;否则&#xff0c;一切后果请用户自负。 看运行截图看 第五章 第四章 获…

[AIGC 大数据基础] 浅谈hdfs

HDFS介绍 什么是HDFS&#xff1f; HDFS&#xff08;Hadoop Distributed File System&#xff09;是Apache Hadoop生态系统的一部分&#xff0c;是一个分布式文件系统。它被设计用于存储和处理大规模数据集&#xff0c;并且能够容错、高可靠和高性能地处理文件。 HDFS是为了支…

逻辑回归中的损失函数梯度下降

一、引言 逻辑回归中的损失函数通常采用的是交叉熵损失函数&#xff08;cross-entropy loss function&#xff09;。在逻辑回归中&#xff0c;我们通常使用sigmoid函数将线性模型的输出转换为概率值&#xff0c;然后将这些概率值与实际标签进行比较&#xff0c;从而计算损失。 …

创建第一个 Spring 项目(IDEA社区版)

文章目录 创建 Spring 项目创建一个普通的 Maven 项目添加 Spring 依赖IDEA更换国内源 运行第一个 Spring 项目新建启动类存储 Bean 对象将Bean注册到Spring 获取并使用 Bean 对象 创建 Spring 项目 创建一个普通的 Maven 项目 首先创建一个普通的 Maven 项目 添加 Spring 依…

web项目开发的基本过程

一、背景 web项目开发基本过程一般由需求分析&#xff0c;概要设计&#xff0c;详细设计&#xff0c;数据库设计&#xff0c;编码&#xff0c;测试&#xff0c;发布上线这几个过程。这就是经典的瀑布模型。但是随着系统的复杂度越来越高&#xff0c;团队人员技术栈分工越来越小…

《WebKit技术内幕》学习之十三(3):移动WebKit

3 其他机制 3.1 新渲染机制 为了移动领域更好的用户体验&#xff0c;渲染机制所做的改进主要是提升渲染性能来增加响应的速度&#xff0c;甚至不惜牺牲一些跟规范定义的行为不一致的地方。在这一小节中主要介绍三个方面的技术&#xff0c;其一是Tiled Backing Store&#x…

Wpf 使用 Prism 实战开发Day14

备忘录接口增删&#xff08;CURD&#xff09;改查实现 一.添加备忘录控制器&#xff08;MemoController&#xff09; 备忘录控制器&#xff08;MemoController&#xff09;和待办事项控制器 &#xff08;ToDoController&#xff09;功能实现差不多一样。基本套路就是&#xff1…

结构化文本编程语言:ST语言

ST语言通常指的是结构化文本&#xff08;Structured Text&#xff09;&#xff0c;是一种用于工业自动化和过程控制领域的编程语言。它被广泛应用于PLC&#xff08;可编程逻辑控制器&#xff09;和工业控制系统中&#xff0c;用于编写控制逻辑、数据采集和设备通信等任务。 ST语…

Qt5编译qextserialport(Qt5.14.2+VS2017)

1、qextserialport库下载 (1)github GitHub - qextserialport/qextserialport: Automatically exported from code.google.com/p/qextserialport (2) code.google https://code.google.com/archive/p/qextserialport/downloads 我下载的是最新版qextserialport-1.2rc.zip ​…

【踩坑日常】mysql查询错误排查

背景 在生产上发现一个接口数据怎么查都为空&#xff0c;做的日志记录&#xff0c;sql语句以及参数手动执行却能返回结果 排查 刚发现问题的时候&#xff0c;第一时间是通过日志去查看问题&#xff0c;模拟下核心点就如下 2024-01-24 14:10:03,912 DEBUG selectSQL:137 - >…

Vp9解码方式概述 -- Parsing Process

Vp9解码方式概述 – Parsing Process 本文是对vp9协议第9章&#xff0c;解析字符串函数的一个梳理&#xff0c;主要对几种解析类型&#xff08;Type&#xff09;的流程进行梳理 目录 Vp9解码方式概述 -- Parsing Process1. 如何解码视频&#xff1f;2. f(n)3. 布尔解码器Boole…

核心类库ArrayList、hashMap等

八. 核心类库 1. ArrayList 数组缺点 ArrayList&#xff0c;它常常被用来替代数组 数组的缺点&#xff1a;不能自动扩容&#xff0c;比如已经创建了大小为 5 的数组&#xff0c;再想放入一个元素&#xff0c;就放不下了&#xff0c;需要创建更大的数组&#xff0c;还得把旧…

基于 MQTT 的开源桥接器:自由控制物联网设备 | 开源日报 No.151

Koenkk/zigbee2mqtt Stars: 10.5k License: GPL-3.0 Zigbee2MQTT 是一个 Zigbee &#x1f41d; 到 MQTT 桥接器 &#x1f309;&#xff0c;可以摆脱专有的 Zigbee 桥接器 &#x1f528; 允许您在不使用供应商桥接器或网关的情况下使用 Zigbee 设备通过 MQTT 桥接事件并控制 Z…

Salesforce Lightning 的 Close Case 按钮无法批量关闭 Case 的原因和解决方法

为 Lightning 页面添加了自定义的 Close Case 按钮&#xff08;方法可参考&#xff1a;https://www.simplysfdc.com/2021/01/salesforce-mass-close-case.html&#xff09;后&#xff0c;可能会出现无法批量关闭 Case 的情况。 选中多个 Case&#xff0c;再点击 Close Case 按…

MYSQL数据库详解(6)-- 视图存储方式触发器

MYSQL数据库详解&#xff08;6&#xff09; 视图特征&#xff1a;作用&#xff1a;创建视图使用视图删除视图 存储过程 ***为什么使用存储过程定义&#xff1a;存储过程和函数的区别缺陷&#xff1a;创建存储过程使用存储过程环境变量 局部环境变量 全局环境变量删除存储过程…