DataBufferLimitException: превышен лимит на макс. Байты для буферизации webflux eroor - PullRequest
4 голосов
/ 14 января 2020

когда я отправляю файл и получаю массив байтов, у меня всегда была проблема с webflux для получения массива. выдается ошибка:

org.springframework.core.io.buffer.DataBufferLimitException: Exceeded limit on max bytes to buffer : 262144
    at org.springframework.core.io.buffer.LimitedDataBufferList.raiseLimitException(LimitedDataBufferList.java:101)
    Suppressed: reactor.core.publisher.FluxOnAssembly$OnAssemblyException

Теперь вы знаете, как решить эту проблему в webflux?

Ответы [ 3 ]

7 голосов
/ 21 февраля 2020

Полагаю, эта проблема связана с добавлением нового свойства конфигурации spring.code c .max-in-memory-size в Spring Boot. Добавьте это к свойствам как:

spring:
  codec:
    max-in-memory-size: 10MB
4 голосов
/ 31 марта 2020

я получаю эту ошибку для простого RestController (я публикую большую строку json).

вот как я успешно изменил maxInMemorySize

import org.springframework.context.annotation.Configuration;
import org.springframework.http.codec.ServerCodecConfigurer;
import org.springframework.web.reactive.config.ResourceHandlerRegistry;
import org.springframework.web.reactive.config.WebFluxConfigurer;

@Configuration
public class WebfluxConfig implements WebFluxConfigurer {

    @Override
    public void addResourceHandlers(ResourceHandlerRegistry registry) {

        registry.addResourceHandler("/swagger-ui.html**")
            .addResourceLocations("classpath:/META-INF/resources/");

        registry.addResourceHandler("/webjars/**")
            .addResourceLocations("classpath:/META-INF/resources/webjars/");
    }

    @Override
    public void configureHttpMessageCodecs(ServerCodecConfigurer configurer) {
        configurer.defaultCodecs().maxInMemorySize(16 * 1024 * 1024);
    }
}

это было удивительно трудно найти

3 голосов
/ 25 февраля 2020

Установите максимальное байт мегабайт ) в вас пружинный загрузчик файл конфигурации, как показано ниже:

spring.codec.max-in-memory-size=20MB
...