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

Программисты JAVA общаются здесь
Ответить
Anonymous
 Apache Camel 4.7: отключенныйStreamCache = 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
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

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