首页 > 解决方案 > 为什么在 DelegatingDecompressingPostProcessor 检测到正确的编码后必须存在消息属性 SPRING_AUTO_DECOMPRESS

问题描述

目前我使用

rabbitTemplate.addAfterReceivePostProcessors(new DelegatingDecompressingPostProcessor());

UserRprt userRprt=(UserRprt) rabbitTemplate.receiveAndConvert(RESPONSE_QUEUE, 10000);

接收到的消息具有“gzip”作为编码属性,并且 DelegatingDecompressingPostProcessor 已经将消息委托给 GUnzipPostProcessor。为什么我必须添加消息属性 SPRING_AUTO_DECOMPRESS 才能通过 GUnzipPostProcessor 解压缩内容? 如果我没有使用附加消息后处理器设置此属性,则 GUnzipPostProcessor 将不会解压缩消息。

标签: spring-amqp

解决方案


请为此打开一个 GitHub 问题;它应该alwaysDecompress在代表上将选项设置为 true。https://github.com/spring-projects/spring-amqp/issues

同时,您可以removeDecompressor("gzip")将其添加回来,并将alwaysDecompress属性设置为 true。其他支持的编码也是如此。


推荐阅读