From 47b9b6995e1b0b0acd0214246db3b0f859751e06 Mon Sep 17 00:00:00 2001 From: Ilya Kuramshin Date: Sat, 25 Sep 2021 14:39:14 +0300 Subject: [PATCH] Property to tune WebClient's max buffer sized added (#903) * webclient.max-in-memory-buffer-size property added Co-authored-by: Ilya Kuramshin --- .../main/java/com/provectus/kafka/ui/config/Config.java | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/kafka-ui-api/src/main/java/com/provectus/kafka/ui/config/Config.java b/kafka-ui-api/src/main/java/com/provectus/kafka/ui/config/Config.java index a0aea185122..e9d897cf43b 100644 --- a/kafka-ui-api/src/main/java/com/provectus/kafka/ui/config/Config.java +++ b/kafka-ui-api/src/main/java/com/provectus/kafka/ui/config/Config.java @@ -6,9 +6,11 @@ import org.apache.commons.pool2.KeyedObjectPool; import org.apache.commons.pool2.impl.GenericKeyedObjectPool; import org.apache.commons.pool2.impl.GenericKeyedObjectPoolConfig; +import org.springframework.beans.factory.annotation.Value; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.jmx.export.MBeanExporter; +import org.springframework.util.unit.DataSize; import org.springframework.web.reactive.function.client.WebClient; @Configuration @@ -37,7 +39,10 @@ public MBeanExporter exporter() { } @Bean - public WebClient webClient() { - return WebClient.create(); + public WebClient webClient( + @Value("${webclient.max-in-memory-buffer-size:20MB}") DataSize maxBuffSize) { + return WebClient.builder() + .codecs(c -> c.defaultCodecs().maxInMemorySize((int) maxBuffSize.toBytes())) + .build(); } }