Browse Source

DEC-17012 fix: 【S3插件】备份文件删除后,实际文件服务器上文件未删除

persist/10.0
Feng 4 years ago
parent
commit
4a0f1369d1
  1. 19
      src/main/java/com/fanruan/fs/s3/repository/core/S3ResourceRepository.java

19
src/main/java/com/fanruan/fs/s3/repository/core/S3ResourceRepository.java

@ -5,8 +5,6 @@ import com.amazonaws.auth.BasicAWSCredentials;
import com.amazonaws.client.builder.AwsClientBuilder; import com.amazonaws.client.builder.AwsClientBuilder;
import com.amazonaws.services.s3.AmazonS3; import com.amazonaws.services.s3.AmazonS3;
import com.amazonaws.services.s3.AmazonS3ClientBuilder; import com.amazonaws.services.s3.AmazonS3ClientBuilder;
import com.amazonaws.services.s3.model.CopyObjectRequest;
import com.amazonaws.services.s3.model.DeleteObjectRequest;
import com.amazonaws.services.s3.model.GetObjectRequest; import com.amazonaws.services.s3.model.GetObjectRequest;
import com.amazonaws.services.s3.model.ListObjectsRequest; import com.amazonaws.services.s3.model.ListObjectsRequest;
import com.amazonaws.services.s3.model.ObjectListing; import com.amazonaws.services.s3.model.ObjectListing;
@ -299,16 +297,15 @@ public class S3ResourceRepository extends BaseResourceRepository {
@Override @Override
public boolean rename(String path, String newPath) throws ResourceIOException { public boolean rename(String path, String newPath) throws ResourceIOException {
try {
CopyObjectRequest copyObjRequest = new CopyObjectRequest(bucket, if (copy(path, newPath) && delete(path)) {
path, bucket, newPath); if (LogKit.isDebugEnabled()) {
s3.copyObject(copyObjRequest); LogKit.debug("[S3] rename {} to {} success.", path, newPath);
s3.deleteObject(new DeleteObjectRequest(bucket, path)); }
} catch (Exception e) { return true;
LogKit.error(e.getMessage(), e);
return false;
} }
return true; LogKit.error("[S3] rename {} to {} failed.", path, newPath);
return false;
} }
@Override @Override

Loading…
Cancel
Save