首页 > 解决方案 > 如何用骆驼从http下载zip文件?

问题描述

我是骆驼的初学者。我正在尝试下载一个具有 http 路径的 zip 文件,并尝试将文件存储在本地文件系统中。我设法读取了该文件,但不是读取一次并将其下载到本地文件夹中,而是我的代码运行到无限循环并创建了该文件的许多副本,因此我得到了 OutOfMemoryError。我做了调查,使用定时器组件应该可以解决问题,但我不知道如何一起使用定时器组件和直接组件......我尝试了以下代码,但没有任何反应

这是我的代码:

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 ..........");


}

标签: javahttpapache-camelapache-camel-aws

解决方案


推荐阅读