首页 > 其他分享 >springboot整合rabbbitmq--注解方式+yml配置

springboot整合rabbbitmq--注解方式+yml配置

时间:2023-05-02 17:34:30浏览次数:47  
标签:username map springboot get -- boot simpleMailMessage com yml

maven依赖

<!--rabbitmq-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-amqp</artifactId>
        </dependency>
        <!--mail依赖-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-mail</artifactId>
        </dependency>

 

1. 测试方法 controller  生产者

    @GetMapping("/test1")
    public void test(HttpServletRequest request) throws Exception {

        String authorization = request.getHeader("Authorization");
        String username = (String) JwtUtils.parseJWT(authorization).get("username");
        HashMap<String, String> map = new HashMap<>();
        map.put("username",username);
        map.put("msg","开始发送邮件");
        try {
            rabbitTemplate.convertAndSend("name_exchange","name_routingKey",map);//指定交换机 路由key
        } catch (AmqpException e) {
            log.info("生产者失败");
        }
        log.info("test执行了");
    }

2 .消费者--监听

@Component
public class Listener {
    @Autowired
    private JavaMailSender javaMailSender;

    @RabbitListener(bindings = @QueueBinding(
            value = @Queue(value = "scan_queue", durable = "false"), //队列名  是否持久化
            exchange = @Exchange(
                    value = "name_exchange",  //交换机配置
                    ignoreDeclarationExceptions = "true",
                    type = ExchangeTypes.TOPIC
            ),
            key = {"scan_routingKey"}))
    public void listen(Map map) {

        System.out.println("接收到消息:" + map.get("msg"));
        SimpleMailMessage simpleMailMessage = new SimpleMailMessage();
        simpleMailMessage.setSubject("尊敬的用"+map.get("username")+"户您好!");
        simpleMailMessage.setText("扫描完毕");
        simpleMailMessage.setTo("[email protected]");
        simpleMailMessage.setFrom("[email protected]");
        javaMailSender.send(simpleMailMessage);
    }
}

邮件和rabbitmq配置

  mail:
    host: smtp.163.com
    protocol: smtp
    default-encoding: utf-8
    password: ******
    username: *****@163.com
    port: 25
  rabbitmq:
    username: dev
    password: ****
    host: localhost
    port: 5672
    virtual-host: /dev
    template:
      retry:
        enabled: true
        initial-interval: 2000ms
        max-interval: 10000ms
        multiplier: 2
    publisher-confirm-type: correlated

 

标签:username,map,springboot,get,--,boot,simpleMailMessage,com,yml
From: https://www.cnblogs.com/caoaman/p/17367958.html

相关文章

  • process explorer 如何生成转储(dmp)文件
    我是直接使用procexpdump的,因为默认的任务管理器不是所有的process都能dump。   任务管理器dump任务管理器可以说是最易获取的系统工具,同时它具有生成转储文件的功能。但要注意的是在64位操作系统上面,默认启动的是64位的任务管理器。使用任务管理器生成转储文件需要遵......
  • 看不到未来的世界里的爱之歌——ATRI
    “他说自己必须拯救地球——”“于是我问道。”“地球也包括我吗……?”“我守望着逐渐沉没的地球,身处无限的孤独之中……”“时间流逝吧,你是多么的残酷——提示:本篇涉及剧透且都是本人主观感受第一篇gal评测,写的时候思路也比较混乱,文笔欠佳,若有不妥之处也请不吝赐正提......
  • 迁移学习《mixup: Beyond Empirical Risk Minimization》
    论文信息论文标题:mixup:BeyondEmpiricalRiskMinimization论文作者:TakeruMiyato,S.Maeda,MasanoriKoyama,S.Ishii论文来源:2018ICLR论文地址:download 论文代码:download视屏讲解:click ......
  • 植物大战僵尸无限版轮数地址
    00E98680->160->6CEAX=14C50F00EBX=00000000ECX=14C50F1CEDX=14CBC538ESI=14CBC538EDI=14A51008EBP=0012FAC4ESP=0012FA70EIP=0042A000Probablebasepointer=14A5100800429ff7-jne00429fe000429ff9-movesi,[edi+04]00429ffc-ad......
  • render学习
    一.前言1.vue程序的运行过程:模板->进行编译->生成ast树->数据绑定->生成render函数->成虚拟dom树->真实dom树模板:Vue的模板基于纯HTML,基于Vue的模板语法,我们可以比较方便地声明数据和UI的关系。AST:AST是AbstractSyntaxTree的简称,俗称‘抽象语法树’它是一种......
  • AWS CLI 权限配置
    01配置秘钥环境变量秘钥Linux|MacexportAWS_ACCESS_KEY_ID=AKIAIOSFODNN7EXAMPLEexportAWS_SECRET_ACCESS_KEY=wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEYexportAWS_DEFAULT_REGION=us-west-2WindowsCMDsetxAWS_ACCESS_KEY_IDAKIAIOSFODNN7EXAMPLEsetxAWS_SECRET_ACCE......
  • T236450 美国血统
    题目描述农夫约翰非常认真地对待他的奶牛们的血统。然而他不是一个真正优秀的记帐员。他把他的奶牛们的家谱作成二叉树,并且把二叉树以更线性的“树的中序遍历”和“树的前序遍历”的符号加以记录而不是用图形的方法。你的任务是在被给予奶牛家谱的“树中序遍历”和“树前序遍......
  • C#开发 B/S架构的实验室管理系统 云LIS系统(MVC + SQLserver + Redis)
    一、云LIS系统是将各种样本、免疫、临检、放免、及实验用的分析仪器,通过网络管理和传输实验分析过程中全部数据。对每一专业,实现检验申请、样本采集、样本核收、联机检验、质量控制、报告审核到报告发布的全环节的信息化管理平台。二、基于B/S架构的云LIS系统,整个系统的运行基于WE......
  • appuploader   iOS 应用自动发布
    appuploader是一款专门为iOS和Android开发人员设计的自动化工具,可以帮助开发人员轻松解决一些繁琐的任务,例如生成屏幕截图、处理配置文件和发布应用程序等。这个工具可以让开发人员在不同的环境下自定义和运行发布管道,使得整个应用的发布过程更加简单和自动化。使用appuploader......
  • SpringBoot定义优雅全局统一Restful API 响应框架
    假如现在有一个Java项目,老板让你做项目组长,定义项目基础框架,系统技术架构选型,你应该如何设计一个规范的统一的RestfulAPI响应框架呢思考目前项目开发,都是基于前后端分离模式开发的,基于后端模板引擎那一套,可能已经不适用一些项目开发流程,和当下开发模式了,尤其在要写比......