- * [(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)
{