Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/amazon-s3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Amazon web services 当网络暂时关闭时,从s3下载文件会冻结并引发异常_Amazon Web Services_Amazon S3_Aws Sdk - Fatal编程技术网

Amazon web services 当网络暂时关闭时,从s3下载文件会冻结并引发异常

Amazon web services 当网络暂时关闭时,从s3下载文件会冻结并引发异常,amazon-web-services,amazon-s3,aws-sdk,Amazon Web Services,Amazon S3,Aws Sdk,我正在使用AWS S3 SDK通过TransferManager从S3 Bucket下载文件。 案例 1.如果internet连接没有中断,则文件下载成功。 2.但是,如果出现网络故障,文件下载会冻结一段时间,但如果默认情况下在套接字超时(50秒)之前互联网已启动,则会成功恢复下载。 3.从我的侧面增加插座超时 @Bean public ClientConfiguration clientConfiguration() { this.clientConfiguration = new C

我正在使用AWS S3 SDK通过TransferManager从S3 Bucket下载文件。
案例
1.如果internet连接没有中断,则文件下载成功。
2.但是,如果出现网络故障,文件下载会冻结一段时间,但如果默认情况下在套接字超时(50秒)之前互联网已启动,则会成功恢复下载。
3.从我的侧面增加插座超时

@Bean
public ClientConfiguration clientConfiguration() {
    this.clientConfiguration = new ClientConfiguration();
    clientConfiguration.setSocketTimeout(600*1000);
    return this.clientConfiguration;
}
文件下载冻结,下载一些字节,然后在打嗝后互联网关闭后再次冻结。稍后它会引发连接重置异常。

com.amazonaws.SdkClientException: Unable to store object contents to disk: Connection reset at com.amazonaws.services.s3.internal.ServiceUtils.downloadToFile(ServiceUtils.java:313)
at com.amazonaws.services.s3.internal.ServiceUtils.downloadObjectToFile(ServiceUtils.java:270)
at com.amazonaws.services.s3.internal.ServiceUtils.retryableDownloadS3ObjectToFile(ServiceUtils.java:402)
at com.amazonaws.services.s3.AmazonS3Client.getObject(AmazonS3Client.java:1455)
at com.amazonaws.services.s3.transfer.internal.DownloadPartCallable.call(DownloadPartCallable.java:59)
at com.amazonaws.services.s3.transfer.internal.DownloadPartCallable.call(DownloadPartCallable.java:31)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)
Caused by: java.net.SocketException: Connection reset
at java.net.SocketInputStream.read(SocketInputStream.java:209)
at java.net.SocketInputStream.read(SocketInputStream.java:141)
at sun.security.ssl.InputRecord.readFully(InputRecord.java:465)
at sun.security.ssl.InputRecord.readV3Record(InputRecord.java:593)
at sun.security.ssl.InputRecord.read(InputRecord.java:532)
at sun.security.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:973)
at sun.security.ssl.SSLSocketImpl.readDataRecord(SSLSocketImpl.java:930)
at sun.security.ssl.AppInputStream.read(AppInputStream.java:105)
at org.apache.http.impl.io.SessionInputBufferImpl.streamRead(SessionInputBufferImpl.java:137)
at org.apache.http.impl.io.SessionInputBufferImpl.read(SessionInputBufferImpl.java:198)
at org.apache.http.impl.io.ContentLengthInputStream.read(ContentLengthInputStream.java:176)
at org.apache.http.conn.EofSensorInputStream.read(EofSensorInputStream.java:135)
at com.amazonaws.internal.SdkFilterInputStream.read(SdkFilterInputStream.java:82)
at com.amazonaws.event.ProgressInputStream.read(ProgressInputStream.java:180)
at com.amazonaws.internal.SdkFilterInputStream.read(SdkFilterInputStream.java:82)
at com.amazonaws.services.s3.internal.S3AbortableInputStream.read(S3AbortableInputStream.java:118)
at com.amazonaws.internal.SdkFilterInputStream.read(SdkFilterInputStream.java:82)
at com.amazonaws.internal.SdkFilterInputStream.read(SdkFilterInputStream.java:82)
at com.amazonaws.internal.SdkFilterInputStream.read(SdkFilterInputStream.java:82)
at com.amazonaws.event.ProgressInputStream.read(ProgressInputStream.java:180)
at com.amazonaws.internal.SdkFilterInputStream.read(SdkFilterInputStream.java:82)
at com.amazonaws.util.LengthCheckInputStream.read(LengthCheckInputStream.java:107)
at com.amazonaws.internal.SdkFilterInputStream.read(SdkFilterInputStream.java:82)
at java.io.FilterInputStream.read(FilterInputStream.java:107)
at com.amazonaws.services.s3.internal.ServiceUtils.downloadToFile(ServiceUtils.java:307)
我的问题是如何配置我的客户机,以便即使网络出现故障,也可以随时继续下载文件