默认如下:
content-type:text/plain
要求如下:
content-type:application/json
解决方法如下(针对消息的生产者):
在MessagePostProcessor中给message的头做自定义处理(这个功能类似于spring的BeanPostProcessor)对消息的扩展处理,个人认为rabbitMq应该是参考spring的实现方法去实现的。
1. private final static MessagePostProcessor messagePostProcessor = message -> {
2. message.getMessageProperties().setContentType("application/json");
3. message.getMessageProperties().setContentEncoding("UTF-8");
4. return message;
5. };
然后在发送消息给消费者时候带上自己的自定义的消息头:
1. public static void sendMessageByJson(String exchangeName, String routingkey, Object msg){
2. amqpTemplate.convertAndSend(exchangeName, routingkey, msg, messagePostProcessor);
3. }
至此完成要求!
服务器托管,北京服务器托管,服务器租用 http://www.fwqtg.net
机房租用,北京机房租用,IDC机房托管, http://www.fwqtg.net
相关推荐: Spring Boot 数据库操作Druid和HikariDataSourceSpring Boot 数据库操作
目录 Spring Boot 数据库操作 应用实例-需求 创建测试数据库和表 进行数据库开发, 在pom.xml 引入data-jdbc starter 参考官方文档 需要在pom.xml 指定导入数据库驱动 在application.yml 配置操作数据源…