触发了客户端异常
我的原因是:我在多处使用OSS ossClient = new OSSClientBuilder()觉得太繁琐,就想到把这个ossClient对象交给IOC容器管理,在方法内把创建对象注掉了。
//OSS ossClient = new OSSClientBuilder().build(OSSInfo.endpoint, OSSInfo.accessKeyId, OSSInfo.accessKeySecret);
try {
System.err.println(oldUrl);
System.err.println(newUrl.substring(1));
CopyObjectResult result = ossClient.copyObject(OSSInfo.bucketName, oldUrl, OSSInfo.bucketName, newUrl.substring(1));
System.out.println("ETag: " + result.getETag() + " LastModified: " + result.getLastModified());
在主启动类里放入Bean,然后我在业务层注入
第一次使用OSS对象时一切正常,但是第二次使用就会出问题
- 错误原因
调用ossClient.shutdown()接口后,还继续通过ossClient发送请求。
- 解决方法
请检查调用逻辑,确保调用了ossClient.shutdown()接口之后,不再通过ossClient发送请求。
官网的解释是调用shutdown()接口后客户端的连接已经关闭,下一次就不能再发请求了。
老老实实用原来的样子写吧,问题解决。
如果你也遇到类似问题,愿能给你一些解决问题的思路。