spring-amqp - 为什么在 DelegatingDecompressingPostProcessor 检测到正确的编码后必须存在消息属性 SPRING_AUTO_DECOMPRESS
问题描述
目前我使用
rabbitTemplate.addAfterReceivePostProcessors(new DelegatingDecompressingPostProcessor());
和
UserRprt userRprt=(UserRprt) rabbitTemplate.receiveAndConvert(RESPONSE_QUEUE, 10000);
接收到的消息具有“gzip”作为编码属性,并且 DelegatingDecompressingPostProcessor 已经将消息委托给 GUnzipPostProcessor。为什么我必须添加消息属性 SPRING_AUTO_DECOMPRESS 才能通过 GUnzipPostProcessor 解压缩内容? 如果我没有使用附加消息后处理器设置此属性,则 GUnzipPostProcessor 将不会解压缩消息。
解决方案
请为此打开一个 GitHub 问题;它应该alwaysDecompress
在代表上将选项设置为 true。https://github.com/spring-projects/spring-amqp/issues
同时,您可以removeDecompressor("gzip")
将其添加回来,并将alwaysDecompress
属性设置为 true。其他支持的编码也是如此。
推荐阅读
- python - Python readlines() 3.X 到 2.X
- log4net - AppenderSkeleton.DoAppend 中的 Log4Net 死锁
- angular - Angular 7 测试:“无法绑定到 formGroup,因为它不是表单的已知属性”
- regex - 拆分一个逗号分隔的列表,其中文本中的逗号不会被转义
- python - 理解将嵌套列表更改为字典列表
- python - 为什么在我的 for 循环的第一次迭代后出现此错误(TypeError:'_io.TextIOWrapper' 对象不可下标)?
- javascript - 单击表格中的文本时如何获取图像
- wordpress - 我的服务器将 404 返回到带有重音(非英文字符)ubuntu 16.04 的文件
- java - Spring Data Neo4j - RelationsEntity 的(所有)属性
- html - 警告 onRowClick 已弃用