阿里oss上传,读取报错:Connection pool shut down

Connection pool shut down报错:

今天springboot配置了阿里oss配置类:就一直报错:
com.aliyun.oss.ClientException: Connection error due to: Connection pool shut down
[ErrorCode]: Unknown
[RequestId]: Unknown

阿里oss上传,读取报错:Connection pool shut down_第1张图片
一般这种情况就是在阿里使用ossClient.shutdown();方法后继续访问,此时与阿里oss的连接已关闭,自然什么信息都无法获得,但是这种错误是什么情况下造成的呢?

原因:

spring一般为整个容器共享一个对象,如果你在初始化的时候注入对象,并且再后面又没有新new oss的对象,那么再执行一次oss的ossClient.shutdown()方法后将无法执行后面的上传,下载等一系列与oss交互的操作了。

    public static OSS creatOss(AliyunOssConfig config) {
        return  new OSSClientBuilder().build(config.getEndpoint(), config.getAccessKeyId(), config.getAccessKeySecret());
    }

解决方法:

1:

解决问题最简单的方法就是每次连接的时候都重新new一个对象,以保证每次与阿里数据交互连接都保持可用状态

阿里oss上传,读取报错:Connection pool shut down_第2张图片

2:

同时也可以通过多例的方法解决

  @Bean
2     @Scope("prototype")
3     public OSS ossClient() {
5         return new OSSClientBuilder().build(endpoint, accessKeyId, accessKeySecret);
6     }

你可能感兴趣的:(web的学习历程,阿里云,java,spring)