# 消息转换器
Spring 的对象消息处理是 org.springframework.amqp.support.converter.MessageConvert 来处理的。而默认实现的是SimpleMessageConverter
基于 JDK 的ObjectOutputstream完成序列化存在的问题
- JDK的序列化由安全风险
- JDK序列化的消息太大
- JDK序列话的消息可读性差
# 改变消息
- 引入JSON
<dependency>
<groupId>com.fasterxml.jackson.dataformat</groupId>
<artifactId>jackson-dataformat-xml</artifactId>
</dependency>
- 配置bean
import org.springframework.amqp.support.converter.Jackson2JsonMessageConverter;
import org.springframework.amqp.support.converter.MessageConverter;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
@Configuration
public class RabbitMQConfig {
@Bean
public MessageConverter jsonMessageConver() {
return new Jackson2JsonMessageConverter();
}
}
- 发送测试
@RestController
@RequestMapping("/p")
public class ProducerController {
@Autowired
private RabbitTemplate rabbitTemplate;
@GetMapping
public void send() {
Map<String, String> msg = new HashMap<>();
msg.put("name", "张三");
rabbitTemplate.convertAndSend(
"test.exchange",
"t",
msg
);
}
}
- web 控制台
← 备份交换机 集群 topics 命令 →