Я отправляю верблюду большие почтовые файлы размером 200-900 МБ, используя curl в качестве двоичных данных.Это нормально для рестлета, но когда я обрабатываю данные из рестлета в rabbitmq, использование памяти увеличивается.
Я попытался закомментировать .to (rabbitmq ...), и тогда проблема исчезла.Когда я включаю конечную точку .to (rabbitmq ...), использование памяти увеличивается.Я пытался отключить потребителя rabbitmq, и это ничего не изменило.
Кажется, проблема в .to (rabbitmq ...), который приводит к увеличению использования памяти.Я обнаружил, что он внутренне использует byte [], но преобразование в InputStream ничего не сделало.Rabbitmq внутренне использует byte [], но после завершения отправки в очередь он не освобождает память.
Я попытался выполнить потоковое кеширование, а также преобразовать тело в InputStream, но проблема сохраняется.
На данный момент мне нуженмного памяти и иногда приходится увеличивать верхнюю область кучи примерно до 4 ГБ для 900 МБ Zip-файла
.to(ExchangePattern.InOnly,"rabbitmq://localhost/myQueue?connectionFactory=#myConnectionFactory&durable=true&queue=myQueue&autoDelete=false&autoAck=false&queueArgsConfigurer=#myQueueArgs")