sam*_*nth 5 java amazon-s3 amazon-web-services
我正在尝试使用分段上传AWS S3 java API执行文件上传(我使用的是SDK 1.8.1).我能够成功执行上传.
但是,间歇性地我不断得到这个例外.
2014年7月31日上午4:39:38 com.amazonaws.http.AmazonHttpClient executeHelper INFO:无法执行HTTP请求:连接重置java.net.SocketException:java.net.SocketInputStream.read上的连接重置(SocketInputStream.java:189 )在sun.security.ssl.InputRecord.read(readRecord.java:312)的sun.security.ssl.InputRecord.readFully(InputRecord.java:312)的java.net.SocketInputStream.read(SocketInputStream.java:121)处(InputRecord.java:350) at sun.security.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:927)at sun.security.ssl.SSLSocketImpl.readDataRecord(SSLSocketImpl.java:884)at sun.security.ssl.AppInputStream.read(AppInputStream.java:102 )org.apache.http.impl.io.AbstractSessionInputBuffer.fillBuffer(AbstractSessionInputBuffer.java:166)org.apache.http.impl.io.SocketInputBuffer.fillBuffer(SocketInputBuffer.java:90)at org.apache.http. impl.io.AbstractSessionInputBuffer.readLine(AbstractSessionInputBuffer.java:281)at org.apache.http.impl.conn.DefaultHttpResponseParser.parseHead(DefaultHttpResponsePar)ser.java:92)org.apache.http.impl.conn.DefaultHttpResponseParser.parseHead(DefaultHttpResponseParser.java:62)org.apache.http.impl.io.AbstractMessageParser.parse(AbstractMessageParser.java:254)at org .apache.http.impl.AbstractHttpClientConnection.receiveResponseHeader(AbstractHttpClientConnection.java:289)org.apache.http.impl.conn.DefaultClientConnection.receiveResponseHeader(DefaultClientConnection.java:252)at org.apache.http.impl.conn.ManagedClientConnectionImpl .receiveResponseHeader(ManagedClientConnectionImpl.java:191)org.apache.http.protocol.HttpRequestExecutor.doReceiveResponse(HttpRequestExecutor.java:300)at org.在com.amazonaws.http.protocol.SdkHttpRequestExecutor.doReceiveResponse(SdkHttpRequestExecutor.java:66). apache.http.protocol.HttpRequestExecutor.execute(HttpRequestExecutor.java:127)位于org.apache.http.impl.client.DefaultRequestDirector的org.apache.http.impl.client.DefaultRequestDirector.tryExecute(DefaultRequestDirector.java:717).执行(DefaultRequest Director.java:522)atg.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:906)at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:805)at com .amazonaws.http.AmazonHttpClient.executeHelper(AmazonHttpClient.java:402)at com.amazonaws.http.AmazonHttpClient.execute(AmazonHttpClient.java:245)at com.amazonaws.services.s3.AmazonS3Client.invoke(AmazonS3Client.java:3711) )在云上的com.amazonaws.services.s3.AmazonS3Client.uploadPart(AmazonS3Client.java:2809).< - filename - > .writeContent(< - filename - > .java:< - linenumber->)
在以下代码中
try {
_partETags.add(_s3.uploadPart(uploadPartReq).getPartETag());
} catch (AmazonClientException e) {
System.out.println("Amazon service error. Retrying...");
printException(e);
} catch (Exception e) {
printException(e);
throw new UserException("Received an exception while performing upload part");
}
Run Code Online (Sandbox Code Playgroud)
如果我看一下docuementation,它说uploadPart函数只会抛出两个类AmazonClientException和AmazonServiceException.
链接:http://docs.aws.amazon.com/AWSJavaSDK/latest/javadoc/com/amazonaws/services/s3/AmazonS3.html#uploadPart(com.amazonaws.services.s3.model.UploadPartRequest)
Run Code Online (Sandbox Code Playgroud)<documentation> ... UploadPartResult uploadPart(UploadPartRequest request) throws AmazonClientException, AmazonServiceException ... Throws: AmazonClientException - If any errors are encountered in the client while making the request or handling the response. AmazonServiceException - If any errors occurred in Amazon S3 while processing the request. ... </documentation>
但是,我收到了不同的例外.
我有以下问题
这是来自 AmazonS3Client 的一条日志消息(INFO 级别),告诉您存在暂时性网络错误。默认情况下,AmazonS3Client 会捕获此类异常并为您重试上传。您可以通过ClientConfiguration调整此行为。如果在配置的重试次数后上传仍未成功,则会AmazonClientException根据文档抛出错误。
| 归档时间: |
|
| 查看次数: |
4240 次 |
| 最近记录: |