记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 也重载了 StorageServiceBaseconfigure(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

回到顶部