异步实现邮件发送

这篇具有很好参考价值的文章主要介绍了异步实现邮件发送。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

问题描述:

问题分析:

问题解决:

分析总结:


问题描述:

        在写接口的时候,遇到一个问题,前端要求直接返回结果再去运行其他代码。

问题分析:

        因为经费紧张,本次使用的是网易发送邮件,也就是用你的账号给其他人发送邮件这种,这也存在一些问题,就是不能在短时间内大量发送邮件信息,于是我加了一个定时器。

        限制为每半分钟发送一次,后台在接收到前端发送的数组时,数组中的数据每过半分钟才能执行一条,也就是发送给好几个人的邮件,过了半分钟才能给下一个人发送邮件这种情况。

        于是这就产生了一个问题,需要等这些定时器都执行完毕才能获取到接口返回的结果。

        而且这样也会造成阻塞等待,比较耗时。

问题解决:

        加入异步成功解决,即为主进程直接返回一个结果,另一个进程则去执行那个比较耗时的。

具体实现:

        1.在启动类上加上注解@EnableAsync。

        2.在service层的方法上加上@Async 注解。

        3.在controller层正常调用此方法就行。

分析总结:

        @Async 注解可以添加到类上,表示该类里面的所有方法都是异步执行,也可以添加到方法上,表示该方法异步执行。文章来源地址https://www.toymoban.com/news/detail-622453.html

到了这里,关于异步实现邮件发送的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • Redux异步解决方案 1. Redux-Thunk中间件

    简单介绍一下 thunk ,这是一个中间件,是解决 redux 异步问题产生的。我们都知道,在使用 redux 的时候,通过 dispatch 一个 action 发生到 reducer 然后传递给 store 修改状态 一系列都是同步的,那如果说我 dispatch 一个 action 这个 action 帮我请求一下接口数据,你发现接口请求是异步

    2024年02月09日
    浏览(47)
  • 【Alibaba中间件技术系列】「RocketMQ技术专题」RocketMQ消息发送的全部流程和落盘原理分析

    RocketMQ目前在国内应该是比较流行的MQ 了,目前本人也在公司的项目中进行使用和研究,借着这个机会,分析一下RocketMQ 发送一条消息到存储一条消息的过程,这样会对以后大家分析和研究RocketMQ相关的问题有一定的帮助。 分析的总体技术范围发送到存储,本文的主要目的是

    2024年02月10日
    浏览(43)
  • Java 缓存中间件

    :Spring Cache、J2Cache、JetCache JSR107 中制订了 Java 缓存的规范。 因此,在很多缓存框架、缓存库中,其 API 都参考了 JSR 107 规范。 img Java Caching 定义了 5 个核心接口 CachingProvider - 定义了创建、配置、获取、管理和控制多个 CacheManager 。一个应用可以在运行期访问多个 Cac

    2024年02月04日
    浏览(45)
  • 【Java中间件】RocketMQ

    Message Queue,是一种提供消息队列服务的中间件。提供了消息生产、存储、消费全过程API的软件系统。 MQ的作用 限流削峰:当用户发送超量请求时,将请求暂存,以便后期慢慢处理。如果不使用MQ暂存直接请求到业务系统中容易引起系统崩溃。 异步解耦:若上游系统和下游系

    2024年02月15日
    浏览(41)
  • Java中间件-Elasticsearch

    Elasticsearch 是一个非常强大的搜索引擎。它目前被广泛地使用于各个 IT 公司。Elasticsearch 是由 Elastic 公司创建。它的代码位于 GitHub - elastic/elasticsearch: Free and Open, Distributed, RESTful Search Engine。目前,Elasticsearch 是一个免费及开放(free and open)的项目。同时,Elastic 公司也拥有

    2023年04月27日
    浏览(45)
  • Java高可用监控中间件

    Prometheus是一个开源的系统监控和警报工具集,用于收集、存储和查询时间序列数据。 它支持多种数据源,可以监控分布式系统的各种指标,并提供强大的查询语言和灵活的警报规则。 Grafana是一个开源的可视化监控和分析平台,可以与多个数据源集成,包括Prometheus、InfluxD

    2024年01月23日
    浏览(44)
  • 【Java面试丨消息中间件】Kafka

    1. 介绍 使用kafka在消息的收发过程都有可能会出现消息丢失 (1)生产者发送消息到broker丢失 (2)消息在broker中存储丢失 (3)消费者从broker接收消息丢失 2. 生产者发送消息到broker丢失 设置异步发送:同步发送会发生阻塞,一般使用异步发送方式发送消息 消息重试:由于网

    2024年02月11日
    浏览(42)
  • java后端技术汇总 + 中间件 + 架构思想

    1. 华为OD机考题 + 答案 2023华为OD统一考试(A+B卷)题库清单-带答案(持续更新) 2023年华为OD真题机考题库大全-带答案(持续更新) 2. 面试题 一手真实java面试题:2023年各大公司java面试真题汇总--持续更新 3. 技术知识 java后端技术汇总 + 中间件 + 架构思想 类型 难度 Spring、

    2024年02月13日
    浏览(63)
  • 深入理解Java消息中间件-组件-消息队列

    引言: 消息中间件在现代分布式系统中扮演着至关重要的角色,它解决了系统之间异步通信和解耦的需求。而在消息中间件的架构中,核心组件之一就是消息队列。本文将深入探讨消息队列的架构组件,帮助读者加深对消息中间件的理解和应用。 一、什么是消息队列 消息队列

    2024年04月27日
    浏览(47)
  • Java开发框架和中间件面试题(8)

    目录 82.Mybatis一级缓存,二级缓存? 83.Mybatis如何防止SQL注入? 84.mybatis中resultType和resultMap有什么区别? 85.如何在SpringBoot中禁用Actuator断点安全性? 86.什么是SpringBoot?SpringBoot有哪些优点? 87.SpringBoot中的监视器是什么? 88.什么是yaml文件? 89.如何使用SpringBoot实现异常处理?

    2024年02月03日
    浏览(45)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包