1、创建测试队列object.queue001
2、引入消息转换器依赖
<!--消息转换器依赖-->
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
</dependency>
3、在项目启动类中注册消息转换的bean
package cn.itcast.mq;
import org.springframework.amqp.support.converter.Jackson2JsonMessageConverter;
import org.springframework.amqp.support.converter.MessageConverter;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.context.annotation.Bean;
@SpringBootApplication
public class PublisherApplication {
public static void main(String[] args) {
SpringApplication.run(PublisherApplication.class);
}
@Bean //消息转换bean
public MessageConverter messageConverter(){
return new Jackson2JsonMessageConverter();
}
}
4、消息发送端
@Test
public void testSendObjectExchange(){
Map<String,String> map = new HashMap<>();
map.put("001","高司令");
map.put("age","22");
//发送消息
rabbitTemplate.convertAndSend("object.queue001",map);
}
5、消息接收端(项目依赖配置同上)
package cn.itcast.mq.config;
import org.springframework.amqp.rabbit.annotation.RabbitListener;
import org.springframework.stereotype.Component;
import java.util.Map;
@Component
public class Testxx {
//消息转换
@RabbitListener(queues = "object.queue001")
public void ListenObjectQueue(Map<String,Object> map) {
System.out.println("object.queue001接受到消息" + map);
}
}
6、 执行结果
可以看到已经成功接收到object类型的消息