记S3Service代码中的一个低级错误
最近老码农在一次调试中偶然发现了 osgl-storage S3Service 中一个隐藏很久的第几错误, 在此记录下来.
osgl-storage 的结构很简单, 大致是有 StorageService 来操作 SObject:
S3Service 定义了一个字段 defStorageClass
, 用于设定默认的 S3 存储等级:
public class S3Service extends StorageServiceBase<S3Obj> implements IStorageService { public enum StorageClass {
STANDARD, REDUCED_REDUNDANCY, GLACIER;
}
private StorageClass defStorageClass = StorageClass.REDUCED_REDUNDANCY;
...
}
S3Service 也重载了 StorageServiceBase
的 configure(Map)
方法, 并在其中处理用户配置的 def storage class
:
@Override protected void configure(Map<String, String> conf) {
super.configure(conf, "s3");
...
String sc = conf.get(CONF\_DEF\_STORAGE_CLASS);
if (null != sc) {
defStorageClass = StorageClass.valueOf(sc, defStorageClass);
}
...
}
S3Service 的构造函数:
public S3Service(Map<String, String> conf) { super(conf, S3Obj.class);
}
StorageServiceBase 的构造函数:
public StorageServiceBase(Map<String, String> conf, Class<SOBJ_TYPE> sobjType) { this.sobjType = $.requireNotNull(sobjType);
configure(conf);
}
到这里请各位看官研究一下这个低级错误在哪里. 我们在评论中揭晓答案 ^_^
以上是 记S3Service代码中的一个低级错误 的全部内容, 来源链接: utcz.com/z/513723.html