Rabbimq发送邮件并消费邮件

简介: Rabbimq发送邮件并消费邮件

📑前言

本文主要是【Rabbitmq】——Rabbimq发送邮件并消费邮件的文章,如果有什么需要改进的地方还请大佬指出⛺️

🎬作者简介:大家好,我是听风与他🥇
☁️博客首页:阿里云主页听风与他
🌄每日一句:狠狠沉淀,顶峰相见

Rabbimq发送邮件并消费邮件

1.配置application.yml文件

spring:
  rabbitmq:
    virtual-host: /test
    username: admin
    password: admin
    addresses: localhost

2.定义消息队列的配置:RabbitConfiguration

package com.rabbitmqtest.config;

import org.springframework.amqp.core.*;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

@Configuration
public class RabbitConfiguration {
   
   
    /**
     * 导包时候注意是amqp这个包
     * @return
     */
    @Bean("directExchange")  //定义交换机Bean,可以很多个
    public Exchange exchange(){
   
   
        //如果没有会自动进行创建
        return ExchangeBuilder.directExchange("amq.direct").build();
    }

    @Bean("yydsQueue")     //定义消息队列
    public Queue queue(){
   
   
        return QueueBuilder
                .nonDurable("yyds")   //非持久化类型
                .build();
    }

    @Bean("binding")
    public Binding binding(@Qualifier("directExchange") Exchange exchange,
                           @Qualifier("yydsQueue") Queue queue){
   
   
        //将我们刚刚定义的交换机和队列进行绑定
        return BindingBuilder
                .bind(queue)   //绑定队列
                .to(exchange)  //到交换机
                .with("my-yyds")   //使用自定义的routingKey
                .noargs();
    }

}

运行后打开rabbitmq:我们发现已经创建了yyds队列

image.png

3.监听类:TestListener

package com.rabbitmqtest.listener;

import org.springframework.amqp.core.Message;
import org.springframework.amqp.rabbit.annotation.RabbitListener;
import org.springframework.stereotype.Component;

@Component
public class TestListener {
   
   

    @RabbitListener(queues = "yyds")
    public void test(Message message){
   
   
        System.out.println(new String(message.getBody()));
    }
}

测试类进行测试

package com.rabbitmqtest;

import jakarta.annotation.Resource;
import org.junit.jupiter.api.Test;
import org.springframework.amqp.rabbit.core.RabbitTemplate;
import org.springframework.boot.test.context.SpringBootTest;

@SpringBootTest
class RabbitmqTestApplicationTests {
   
   

    //RabbitTemplate为我们封装了大量的RabbitMQ操作,已经由Starter提供,因此直接注入使用即可
    @Resource
    RabbitTemplate template;


    @Test
    void publisher() {
   
   
        //使用convertAndSend方法一步到位,参数基本和之前是一样的
        //最后一个消息本体可以是Object类型,真是大大的方便
        template.convertAndSend("amq.direct", "my-yyds", "邮件信息");
    }

}

结果:

//控制台会打印:邮件信息

📑文章末尾

image.png

相关实践学习
快速体验阿里云云消息队列RocketMQ版
本实验将带您快速体验使用云消息队列RocketMQ版Serverless系列实例进行获取接入点、创建Topic、创建订阅组、收发消息、查看消息轨迹和仪表盘。
消息队列 MNS 入门课程
1、消息队列MNS简介 本节课介绍消息队列的MNS的基础概念 2、消息队列MNS特性 本节课介绍消息队列的MNS的主要特性 3、MNS的最佳实践及场景应用 本节课介绍消息队列的MNS的最佳实践及场景应用案例 4、手把手系列:消息队列MNS实操讲 本节课介绍消息队列的MNS的实际操作演示 5、动手实验:基于MNS,0基础轻松构建 Web Client 本节课带您一起基于MNS,0基础轻松构建 Web Client
相关文章
|
9月前
|
人工智能 数据挖掘 程序员
深度解析|非技术人的AI Agent黄金职业路线:做智能时代的“超级连接者”
本文打破“只有程序员才能参与AI革命”的迷思,专为运营、市场、销售、产品等非技术人才设计,揭示如何凭借业务理解与软技能,转型为AI Agent生态中的“赋能者”与“运营者”,实现职业价值跃升。(239字)
978 1
|
4月前
|
安全 JavaScript Java
从资质到代码:主流开发语言对接阿里云短信服务完全指南
本文系统梳理了阿里云短信服务的完整接入链路,涵盖账号准备、企业实名认证、短信资质申请、签名申请与运营商报备、模板申请与变量规范等前置环节的审核规则与避坑指南。随后以Java、Python、PHP、Node.js、Go五种主流开发语言为例,提供完整的SDK集成代码示例与参数配置说明。文章还深入讲解了RAM子账号安全实践、发送状态回执配置、常见错误码排查以及按量计费与套餐包的成本优化策略,帮助开发者从零开始快速、安全、低成本地完成短信服务对接。
|
12月前
|
人工智能 Cloud Native 调度
容器市场高速增长,阿里云连续3年蝉联第一
国际数据机构IDC发布《中国容器市场份额,2024:从云原生到AI原生》最新报告,2024年中国容器市场整体市场规模增长46.7%。其中,阿里云以26.6%的占比稳居第一,市场份额超过二、三名总和,连续3年蝉联榜首。
|
8月前
|
机器学习/深度学习 传感器 算法
无线通信系统信道估计算法详解
信道估计是无线通信系统的核心技术之一,其目的是通过接收信号推断信道的冲激响应或频率响应,为相干解调、波束赋形、资源分配等功能提供信道状态信息(CSI)。在4G/5G/6G系统中,信道估计的精度直接影响通信质量(如误码率、吞吐量),而随着大规模MIMO、毫米波、超密集组网等技术的普及,信道估计的复杂度与实时性要求也日益提高。
|
8月前
|
人工智能 Java 数据库
计算机专业毕业设计技术选型:Java稳定但卷,Python简单但受限?深度对比来了
本文深度对比Java与Python在毕设技术选型中的五大维度(学习成本、开发效率、框架生态、就业前景、论文支撑),结合2026行业趋势,指出Java/Spring Boot更稳妥:易上手、代码量足、生态成熟、就业广、论文好写。推荐智码方舟一键生成标准项目,助毕业生高效完成毕设。(239字)
|
3月前
|
人工智能 缓存 API
最新版通义千问(Qwen3.7-Max)功能介绍
通义千问Qwen3.7-Max是面向智能体时代的新一代旗舰大语言模型,作为通义千问系列的性能顶点,它专为高复杂度、长周期、多工具协同任务设计,以万亿参数MoE架构、超长上下文、长时自主执行、顶级编程与推理能力为核心,重新定义了国产大模型的能力边界。Qwen3.7-Max不仅在多项权威评测中登顶全球第一梯队,更以稳定的智能体执行能力、跨框架泛化性与高效成本控制,成为各类AI应用、智能体系统的理想基座。本文将从核心技术架构、全栈功能能力、实战应用场景、部署与调用方式四大维度,全面解析Qwen3.7-Max的功能特性,带你深入了解这款全能旗舰模型的真实实力。
3398 2
|
7月前
|
安全 网络安全 调度
《游戏业务遭遇“狂轰滥炸”?阿里云游戏盾:用分布式架构让攻击者找不到靶心》
阿里云游戏盾是专为游戏行业打造的下一代分布式防护架构,首创“主动隐身”理念:通过全球动态节点、源站IP全面隐藏与毫秒级智能调度,让攻击者无靶可打。实测可抵御2.3Tbps混合攻击,实现零掉线、零误杀、延时增加≤5ms,兼顾防护与加速。(239字)
613 0
|
7月前
|
自然语言处理 运维 开发工具
企业如何按场景选择 Claude、GPT、Gemini
企业模型选型勿求“唯一答案”,应按场景分工:Claude主攻高价值重任务,GPT支撑通用能力,Gemini适配Google生态与多模态。关键在任务分层+统一接入(如147API),以降低多模型集成、治理与扩展成本,提升落地效率。
|
机器学习/深度学习 计算机视觉 网络架构
RT-DETR改进策略【模型轻量化】| 替换骨干网络 CVPR-2024 StarNet,超级精简高效的轻量化模块
RT-DETR改进策略【模型轻量化】| 替换骨干网络 CVPR-2024 StarNet,超级精简高效的轻量化模块
1290 63
RT-DETR改进策略【模型轻量化】| 替换骨干网络 CVPR-2024 StarNet,超级精简高效的轻量化模块
|
缓存
attention计算过程的一些细节
attention计算的一些细节解释
577 30