Почему свойство сообщения SPRING_AUTO_DECOMPRESS должно присутствовать, после делегирования сжатия PostProcessor обнаруживает правильную кодировку

#spring-amqp

Вопрос:

В настоящее время я использую

rabbitTemplate.addAfterReceivePostProcessors(new DelegatingDecompressingPostProcessor());

и

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

Полученное сообщение имеет свойство кодирования «gzip», и делегирующий почтовый процессор уже делегирует сообщение почтовому процессору Gunzippost. Почему я должен добавить свойство сообщения SPRING_AUTO_DECOMPRESS для распаковки содержимого с помощью GUnzipPostProcessor? Если я не задам это свойство с помощью дополнительного постпроцессора сообщений, GUnzipPostProcessor не распакует сообщение.

Ответ №1:

Пожалуйста, откройте для этого выпуск GitHub; он должен установить alwaysDecompress для делегатов значение true. https://github.com/spring-projects/spring-amqp/issues

Тем временем вы можете removeDecompressor("gzip") добавить его обратно, установив alwaysDecompress для свойства значение true. То же самое относится и к другим поддерживаемым кодировкам.

Комментарии:

1. github.com/spring-projects/spring-amqp/issues/1320