Apache Camel 4.7: DisableStreamCache = true больше не работает с конечной точкой HTTP, как ожидалось.JAVA

Программисты JAVA общаются здесь
Anonymous
Apache Camel 4.7: DisableStreamCache = true больше не работает с конечной точкой HTTP, как ожидалось.

Сообщение Anonymous »

Мы обновили Apache Camel 3.16.0 до 4.7.0 (включая обновление Java 11 до 21). Мы должны передавать большие HTTP-ответы без кэширования, но в новой версии это больше не работает, как ожидалось. У нас есть такой маршрут:
from(DIRECT_GETITEM)
.process(collectionCheckingPdp)
.setHeader(Exchange.HTTP_METHOD, constant(HTTP_GET))
.removeHeader(Exchange.HTTP_URI)
.process(new StorageManagerPathProcessor())
.to("http://localhost:9099?disableStreamCach ... HttpFilter");

В версии Camel 3.16.0 тело результирующего сообщения обмена имело тип org.apache.http.conn.EofSensorInputStream.
Но в Camel 4.7 .0, тело сообщения обмена представляет собой массив byte[], хотя мы все равно ожидаем поток.
Что мы можем сделать, чтобы избежать чтения ответа в памяти и получить то же поведение, что и в старой версии?< /p>
Поскольку мы используем Spring Boot, я также попробовал эту настройку в application.properties, но без какого-либо эффекта:
camel.component.http.response-payload-streaming-threshold=-1


Подробнее здесь: https://stackoverflow.com/questions/790 ... ndpoint-as

Вернуться в «JAVA»