【RabbitMQ 第七篇】RabbitMQ实现JSON、Map格式数据的发送与接收_map放到rabittmq

在实现的项目开发中,经常使用Json、Map格式数据。下面将介绍RabbitMQ实现Json、Map格式数据的发送与接收。在消息发送端服务引入依赖、yml配置、RabbitMQ配置类、消息发送类。下面将讲述创建交换器、创建队列、将交换器和队列进行绑定各种方法。等,并将队列交由 IoC 管理。在项目中,创建配置类,配置。
摘要由CSDN通过智能技术生成
	- * [(1)接收JSON数据](#1JSON_571)
		* [(2)接收map数据](#2map_626)
+ [7.3总结](#73_664)

7.RabbitMQ实现JSON、Map格式数据的发送与接收

在实现的项目开发中,经常使用Json、Map格式数据。下面将介绍RabbitMQ实现Json、Map格式数据的发送与接收。

7.1消息发送端

在消息发送端服务引入依赖、yml配置、RabbitMQ配置类、消息发送类

7.1.1引入依赖
<!-- AMQP客户端 -->
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-amqp</artifactId>
</dependency>

7.1.2yml配置
spring:
  application:
    name: rabbitmq-provider
  rabbitmq:
    host: 127.0.0.1
    port: 5672
    username: guest
    password: guest
    publisher-confirm-type: correlated 
    publisher-returns: true 

7.1.3RabbitMQConfig配置类——(非常重要)

在项目中,创建配置类,配置 消息确认Json转换器队列名称 等,并将队列交由 IoC 管理。代码如下:

package com.pjb.config;
 
import org.springframework.amqp.core.\*;
import org.springframework.amqp.rabbit.connection.CachingConnectionFactory;
import org.springframework.amqp.rabbit.connection.ConnectionFactory;
import org.springframework.amqp.rabbit.connection.CorrelationData;
import org.springframework.amqp.rabbit.core.RabbitTemplate;
import org.springframework.amqp.support.converter.Jackson2JsonMessageConverter;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
 
import java.util.HashMap;
import java.util.Map;
 
/\*\*
 \* RabbitMQ配置类
 \*\*/
@Configuration
public class RabbitMqConfig
{
    public static final String DIRECT\_QUEUE = "direct\_queue"; //Direct队列名称
    public static final String DIRECT\_EXCHANGE = "direct\_exchange"; //交换器名称
    public static final String DIRECT\_ROUTING\_KEY = "direct\_routing\_key"; //路由键
 
    public static final String DELAY\_QUEUE = "delay\_queue"; //延时队列名称
    public static final String DELAY\_EXCHANGE = "delay\_exchange"; //交换器名称
    public static final String DELAY\_ROUTING\_KEY = "delay\_routing\_key"; //路由键
 
    @Autowired
    private CachingConnectionFactory connectionFactory;
 
    @Bean
    public RabbitTemplate createRabbitTemplate(ConnectionFactory connectionFactory)
    {
  
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
消息 1. 添加依赖 在pom.xml文件中添加以下依赖: ```xml <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-amqp</artifactId> </dependency> ``` 2. 配置RabbitMQ连接信息 在application.yml文件中配置RabbitMQ连接信息: ```yaml spring: rabbitmq: host: localhost port: 5672 username: guest password: guest ``` 3. 创建消息监听器 创建一个类,实现MessageListener接口,并实现onMessage方法,用于接收消息: ```java @Component public class MessageListenerImpl implements MessageListener { @Override public void onMessage(Message message) { try { String jsonStr = new String(message.getBody(), "UTF-8"); System.out.println("Received JSON message: " + jsonStr); } catch (UnsupportedEncodingException e) { e.printStackTrace(); } } } ``` 4. 配置消息监听容器 创建一个SimpleMessageListenerContainer容器,配置监听队列和消息监听器: ```java @Configuration public class MessageListenerContainerConfig { @Autowired private MessageListenerImpl messageListener; @Autowired private ConnectionFactory connectionFactory; @Value("${spring.rabbitmq.queue-name}") private String queueName; @Bean public SimpleMessageListenerContainer messageListenerContainer() { SimpleMessageListenerContainer container = new SimpleMessageListenerContainer(); container.setConnectionFactory(connectionFactory); container.setQueueNames(queueName); container.setMessageListener(messageListener); return container; } } ``` 5. 发送JSON消息 使用RabbitTemplate发送JSON消息: ```java @RestController public class MessageController { @Autowired private RabbitTemplate rabbitTemplate; @Value("${spring.rabbitmq.queue-name}") private String queueName; @PostMapping("/send") public void sendMessage(@RequestBody Map<String, Object> message) { rabbitTemplate.convertAndSend(queueName, message); } } ``` 以上就是Spring Boot集成RabbitMQ接收JSON消息的基本步骤。在实际应用中,可以根据需要对消息处理进行扩展。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值