7.RabbitMQ实现JSON、Map格式数据的发送与接收
在实现的项目开发中,经常使用Json、Map格式数据。下面将介绍RabbitMQ实现Json、Map格式数据的发送与接收。
7.1消息发送端
在消息发送端服务引入依赖、yml配置、RabbitMQ配置类、消息发送类
7.1.1引入依赖
org.springframework.boot spring-boot-starter-amqp7.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)<