2
我正在使用AWS java SDK在AWS管理控制台的存储桶上上载文件。但是,如果我第一次尝试访问它时没有在线文件,我的代码将捕获异常(NoSuchKey)。然后我想关闭连接。问题是我没有任何引用关闭该连接,因为例外(原始引用将为空)。这里是我的代码:如果在查询中没有这样的密钥,则关闭AWS连接
S3Object object = null;
GetObjectRequest req = new GetObjectRequest(bucketName, fileName);
try{
logconfig();
object = s3Client.getObject(req);
...
catch(AmazonServiceException e){
if(e.getErrorCode().equals("NoSuchKey"))
我试图用“对象”作为参考来结束我的Eclipse和AWS之间的联系,但显然“对象”为空当异常发生。 任何人都可以告诉我该怎么做吗? 此外,因为我不能关闭连接,我的控制台都会有这样每60秒警告:
8351167 [java-sdk-http-connection-reaper] DEBUG org.apache.http.impl.conn.PoolingClientConnectionManager - Closing connections idle longer than 60 SECONDS
我不认为你需要做的任何连接处理自己。这由图书馆照顾。您只需调用's3client'中的API。 – RandomQuestion
如果实现Closable(),则应该调用close()给对象。否则可能会发生资源泄漏。 – AMing