RabbitMQ配置消息转换器

1. 默认转换器

@Test
public void testSendMap() throws InterruptedException {
   
    // 准备消息
    Map<String, Object> msg = new HashMap<>();
    msg.put("name", "harry");
    msg.put("age", 21);
    // 发送消息
    rabbitTemplate.convertAndSend("object.queue", msg);
}

在这里插入图片描述

2. 配置转换器

引入依赖

<!--如果项目中引入了spring-boot-starter-web依赖,则无需再次引入-->Jackson依赖。
<dependency>
    <groupId>com.fasterxml.jackson.dataformat</groupId>
    <artifactId>jackson-dataformat-xml</artifactId>
    <version>2.9.10</version>
</dependency>
@Bean
public MessageConverter messageConverter(){
   
    // 1.定义消息转换器
    Jackson2JsonMessageConverter jackson2JsonMessageConverter = new Jackson2JsonMessageConverter();
    // 2.配置自动创建消息id,用于识别不同消息,也可以在业务中基于ID判断是否是重复消息
    jackson2JsonMessageConverter.setCreateMessageIds(true);
    return jackson2JsonMessageConverter;
}

在这里插入图片描述

3. 消费消息

@RabbitListener(queues = "object.queue")
public void listenSimpleQueueMessage(Map<String, Object> msg) {
   
    System.out.println("消费者接收到object.queue消息:【" + msg + "】");
}

相关推荐

  1. 项目记录:RabbitMq+Redis配置消息队列

    2024-02-16 09:58:01       30 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-02-16 09:58:01       16 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-02-16 09:58:01       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-02-16 09:58:01       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-02-16 09:58:01       18 阅读

热门阅读

  1. LeetCode474. Ones and Zeroes——动态规划

    2024-02-16 09:58:01       32 阅读
  2. QT-通信编码格式问题

    2024-02-16 09:58:01       29 阅读
  3. 面向对象和面向过程

    2024-02-16 09:58:01       31 阅读
  4. oracle dbms_job 写法

    2024-02-16 09:58:01       29 阅读
  5. Transformer?

    2024-02-16 09:58:01       26 阅读
  6. 程序员为什么不喜欢关电脑?

    2024-02-16 09:58:01       30 阅读
  7. c# linq 查询

    2024-02-16 09:58:01       25 阅读
  8. Spark中多分区写文件前可以不排序么

    2024-02-16 09:58:01       34 阅读