我是骆驼的初学者。我正在尝试下载一个具有 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 ..........");
}