我正在尝试从 Box.com 用户帐户下载大量文件。它大部分时间都可以正常工作,但有时下载会冻结。
这是停滞不前的电话:
boxClient.getFilesManager().downloadFile(itemId, requestObject);
有时它会在大约 20 个文件后失败,而其他时候它可以在冻结发生之前继续下载文件一个小时。
也许超时设置可以解决问题,但没有明显的地方。我尝试向 HTTP 标头添加超时值,但没有成功。代码如下所示:
boxClient = new BoxClient(clientId, clientSecret, null, null, createRestClient(), null);
...
private IBoxRESTClient createRestClient() {
return new BoxRESTClient() {
@Override
public HttpClient getRawHttpClient() {
HttpParams params = new BasicHttpParams();
HttpConnectionParams.setConnectionTimeout(params, 10000);
return new DefaultHttpClient(params);
}
};
}
有谁知道为什么会发生这种冻结,也许我该如何进一步调查?
编辑:我正在使用 v3.0.10 的 java lib,这是现在的最新版本。