为什么消息 属性 SPRING_AUTO_DECOMPRESS 必须存在,在 DelegatingDecompressingPostProcessor 检测到正确的编码之后

Why message property SPRING_AUTO_DECOMPRESS has to be present, after DelegatingDecompressingPostProcessor detects correct encoding

目前我在用

rabbitTemplate.addAfterReceivePostProcessors(new DelegatingDecompressingPostProcessor());

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

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

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

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