我希望开发一个Singletone AmazonS3Client,服务于我的应用程序将文件上传到Amazon S3服务器。但是,我找不到如何检查连接是否活动并能否上传桶的方法。
如果连接断开了,是否会抛出特定的异常?还是连接在一定时间后断开?
任何答案都有帮助。
这是我的代码片段:
如果连接断开了,是否会抛出特定的异常?还是连接在一定时间后断开?
任何答案都有帮助。
这是我的代码片段:
private static final AmazonS3Client s3Client;
static {
AWSCredentials awsCredentials = new BasicAWSCredentials(accessKey, secretKey);
s3Client = new AmazonS3Client(awsCredentials);
}
private static boolean writeFile(AmazonS3Client s3Client, String fileName, File file, Boolean publicRead){
try {
PutObjectRequest p = new PutObjectRequest(bucketName, fileName, file);
if (publicRead)
p.setCannedAcl(CannedAccessControlList.PublicRead);
s3Client.putObject(p);
System.out.println("URL: " + S3_BASE_URL + fileName);
return true;
} catch (AmazonServiceException ase){
ase.printStackTrace();
} catch (AmazonClientException ace) {
ace.printStackTrace();
} catch (Exception ex){
ex.printStackTrace();
} catch (Throwable e) {
e.printStackTrace();
}
return false;
}
catch(Exception ex){ex.printStackTrace();}
作为所有情况下相同的操作,因为它会捕获所有其他从“ Exception”继承的异常。 - Paul C