我正在尝试从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);
}
};
}
有人知道为什么会发生此冻结,也许我可以进一步调查它?
编辑:我正在使用java lib的v3.0.10,这是最新版本。