首页 > 其他分享 >使用RabbitMQ发送和接收对象

使用RabbitMQ发送和接收对象

时间:2024-10-16 10:24:41浏览次数:5  
标签:info jackson2JsonMessageConverter RabbitMQ 发送 user 接收 public User

消息转换器

当消息生产者发送的数据为对象时,接受到的信息如下,需要通过转换器将其转为易读、容量小的数据

![image-20241016上午101616219](/Users/mianbao/Library/Application Support/typora-user-images/image-20241016上午101616219.png)

配置JSON转换器

1.导入依赖

<dependency>
    <groupId>com.fasterxml.jackson.dataformat</groupId>
    <artifactId>jackson-dataformat-xml</artifactId>
    <version>2.9.10</version>
</dependency>

2.在消息生产者和消费者的配置类或新建MessageConverterConfig类中添加Bean

    @Bean
    public MessageConverter messageConverter() {
        Jackson2JsonMessageConverter jackson2JsonMessageConverter = new Jackson2JsonMessageConverter();
        jackson2JsonMessageConverter.setCreateMessageIds(true);
        return jackson2JsonMessageConverter;
    }

3.生产者发送消息为对象,消费者使用对象接收即可

    @Test
    public void sendTopicMessage() {
        String topicExchange = "topic.exchange";
        User user = new User();
        user.setName("debu");
        user.setAge(18);
        user.setHeight(230);
        amqpTemplate.convertAndSend(topicExchange, "user.info", user);
    }
    @RabbitListener(queues = "topic1.queue")
		public void getTopicMessage3(User user) {
        log.info("消费者user号 收到消息:{}", user);
        log.info("user的name是:{}",user.getName());
    }

标签:info,jackson2JsonMessageConverter,RabbitMQ,发送,user,接收,public,User
From: https://www.cnblogs.com/superdebu/p/18469235

相关文章

  • RabbitMQ的搭建
    RabbitMQ网址端口15672步骤一:导入依赖<!--AMQP依赖,包含RabbitMQ--><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-amqp</artifactId></depende......
  • 《如果主机没有配置网关,ping不在同一网段的ip,主机会发送ARP吗?》
    一、在开始实验前,我们得先深刻剖析理解ARP协议的含义。1.1ARP1.1.1ARP的定义ARP是“AddressResolutionProtocol”(地址解析协议)的缩写。1.1.2ARP的作用及运行流程分析泛谈:在同一子网中,数据包的传输都是依据MAC地址进行的(分组交换设备仅设置交换机),在跨子网通信时,......
  • WebServer构建响应 && 发送响应
    1.构建响应构建响应流程如下确认方法根据不同方法,以不同方法提参确认访问资源如果用户的URL没有指明要访问的某种资源(路径),虽然浏览器默认会添加/,但是依旧没有告知服务器,要访问什么资源此时,默认返回对应服务的首页这里的/不是Linux服务器的根目录,通常是http服务器设......
  • 前端接收Long类型数据精度丢失问题
    项目场景:后端数据库中主键使用Bigint类型,新增时通过MyBatis-Plus设置ID策略为雪花ID,后端接口返回主键为Long类型。问题描述后端接口编写完成后,在postman中测试新增、修改、删除和详情接口都正常。在同前端调试过程中发现无法通过主键对后端数据进行操作。原因分析:首......
  • python使用smtp发送邮件
    python使用smtp发送邮件一、概述与发送邮件相关的Python模块:smtplib是关于SMTP(简单邮件传输协议)的操作模块,在发送邮件的过程中起到服务器之间互相通信的作用。email简单来说,即服务器之间通信的信息,包括信息头、信息主体等等。举个简单的例子,当你登录邮箱,写好邮件......
  • 尚硅谷rabbitmq2024 工作模式路由篇 第11节 答疑
    StringexchangeName="test_direct";/!创建交换机人图全channel.exchangeDeclare(exchangeName,BuiltinExchangeType.DIREcT,b:true,b1:false,b2:false,map:null);/1创建队列Stringqueue1Name="test_direct_queue1";Stringqueue2Name="test......
  • RabbitMQ执行流程
    RabbitMQ由生产者(Publisher)、消费者(Consumer)、交换机(Exchange)、队列(Queue)和绑定(Binding)组件组成。执行流程为:1、创建连接(Connection) ·生产者和消费者都需要创建到RabbitMQ服务器的TCP连接。2、创建信道(Channel) ·在RabbitMQ中,每个连接可以开设多个信道,信道是进行......
  • 消息队列之RabbitMQ
    1.初识MQ在分布式微服务中,不同服务接口之间的调用分为同步调用和异步调用。使用同步调用有几种问题拓展性差性能差级联失败因此在大部分场景,我们使用的都是异步调用。异步调用方式其实就是基于消息通知的方式,一般包含三个角色:消息发送者:投递消息的人,就是调用方消息Bro......
  • RabbitMQ
    RabbitMQ架构图publisher:生产者,也就是发送消息的一方consumer:消费者,也就是消费消息的一方queue:队列,存储消息。生产者投递的消息会暂存再消息队列中,等待消费者处理exchange:交换机,负责消息路由。生产者发送的消息由交换机决定投递到哪个队列virtualhost:虚拟主机,起到数据隔离......
  • RabbitMQ
    一、RabbitMQ的架构图二、写出RabbitMQ的五种模式简单模型WorkQueues模型Fanout交换机Direct交换机Topic交换机......