温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

SpringBoot中怎么利用RabbitMQ实现用户注册

发布时间:2021-07-22 15:48:27 来源:亿速云 阅读:118 作者:Leah 栏目:编程语言

这篇文章给大家介绍SpringBoot中怎么利用RabbitMQ实现用户注册,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。

实现步骤

添加rabbitmq依赖

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

添加rabbitmq配置

spring: rabbitmq:  addresses: 127.0.0.1  username: guest  password: guest  port: 5672

修改controller类

package com.lytw13.demo.controller;import com.lytw13.demo.model.TbUser;import com.lytw13.demo.service.UserService;import com.lytw13.demo.util.MailUtil;import org.springframework.amqp.rabbit.annotation.RabbitListener;import org.springframework.amqp.rabbit.core.RabbitTemplate;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.web.bind.annotation.PostMapping;import org.springframework.web.bind.annotation.RequestBody;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.bind.annotation.RestController;@RestController@RequestMapping("user")public class UserController {  @Autowired  UserService userService;  @Autowired  RabbitTemplate rabbitTemplate;  @PostMapping("save")  public void save(@RequestBody TbUser user) {    userService.save(user);    rabbitTemplate.convertAndSend("email.direct","email.direct",user);  }}

修改service实现类

public void save(TbUser user) {    long startTime = System.currentTimeMillis();    userMapper.insert(user);    long endTime = System.currentTimeMillis();    System.out.println("耗时:"+(endTime-startTime));  }  @RabbitListener(queues = "email.direct")  public void sendEmail(TbUser user) {    List<String> fileList = new ArrayList<>();    fileList.add("E:\\others\\MyBlog\\新建文本文档1.txt");    fileList.add("E:\\others\\MyBlog\\新建文本文档.txt");    MailUtil.sendHtmlTemplateMail(user.getEmail(),user.getName(),fileList);  }

现在就完成了,当用户发送注册信息的时候,会推送给rabbitmq,然后我们只需要定义个方法添加上@RabbitListener(queues = "email.direct")注解进行实时监听, 注意主启动类上需要添加@EnableRabbit开启rabbit ,当监听到用户注册的时候,不需要一直等待发送邮件成功,就可以先将页面返回给用户,而不是一直等待,页面一直加载不了(浏览器一直转圈),使用户体验变差,这就是用rabbitmq实现异步操作的最简单用法。

关于SpringBoot中怎么利用RabbitMQ实现用户注册就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI