Как скачать ZIP-файл с http с верблюдом?
Я новичок с верблюдом. Я пытаюсь загрузить ZIP-файл, для которого у меня есть http-путь, и пытаюсь сохранить файл в локальной файловой системе. Мне удалось прочитать файл, но вместо того, чтобы прочитать его один раз и загрузить в локальную папку, мой код работает в бесконечном цикле и создает много копий файла, поэтому я получаю OFMemoryError. Я провел расследование, и использование компонента таймера должно решить проблему, но я не знаю, как использовать компонент таймера и прямые компоненты вместе... Я пробовал что-то, как показано ниже, но ничего не происходит
Вот мой код:
private static final String ROUTE_ID = "route.DownloadZipFileRoute";
private static final String URI = "direct:getZipFile";
private static final String ZIP_PATH = "/zipFiles";
@Override
public void configure() throws Exception {
rest().get(ZIP_PATH).to(URI);
from("timer:getZipFile?repeatCount=1").to("direct:getZipFile");
from("direct:getZipFile")
.routeId(ROUTE_ID)
.setHeader(Exchange.HTTP_METHOD, constant("GET"))
.to("http://example.zip?bridgeEndpoint=true")
.to("file://D://outputFolder")
.log("file is downloaded ..........");
}