com.aliyun.oss.ClientException: Connection error due to: Connection pool shut down
[ErrorCode]: Unknown
[RequestId]: Unknown

原因:如果你使用的spring的注入方式,那么所获取的OSS是一个单例对象。
当使用ossClient.shutdown()时,下一次请求将无法获取连接。

Spring单例对象注入

1     @Bean
2 public OSS ossClient() {
3 return new OSSClientBuilder().build(endpoint, accessKeyId, accessKeySecret);
4 }

解决方案:使用多例注入@Scope("prototype"),或者直接 new OSSClientBuilder().build(endpoint, accessKeyId, accessKeySecret)

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

获取OSS对象,可以定义一个方法单独返回。那么每一次调用这个方法都会产生一个新的对象。

1     /**
2 * 获取ossClient对象(多例)
3 * 由于使用完成需要关闭,所以需要创建多例的ossClient对象
4 */
5 private OSS getOssClient(){
6 return ossConfiguration.ossClient();
7 }

最新文章

  1. UITableview delegate dataSource调用探究
  2. 面向对象Part1对象的创建和Static!
  3. Thinkphp3.2.3路径书写注意
  4. [转]SQL Relay使用
  5. Linux磁盘管理之实现多文件系统及VFS06
  6. 搭建openfire Android 客户端学习和开发【二】spark源码导入eclipse
  7. UVA 11609 Teams 组合数学+快速幂
  8. 安装--SambaServce
  9. photoshop:模仿-广告放射背景
  10. mysql主从监控
  11. W​i​n​D​B​G​调​试​技​巧
  12. atitit.java方法属性赋值and BeanUtils 1.6.1 .copyProperty的bug
  13. 【SVN】手动删除svn元信息
  14. AOP---jdk动态代理的思考
  15. (CLR-Via-C#) 类型基础
  16. MyBatis 与 Spring 整合
  17. 6.QT-简易计算器实现(详解)
  18. 解决vs-code高cpu占用率问题
  19. Django学习笔记(3)——表单,测试和模板语法的学习
  20. Android Studio手动打包

热门文章

  1. lumen-ioc容器测试 (1)
  2. Martyr2项目实现——Number部分问题求解(3) Prime Factorization
  3. javaweb学习笔记整理补课
  4. Go 包管理历史以及 Go mod 使用
  5. elastic后台运行
  6. h5 返回上一页面方法
  7. vue 干货
  8. 计算机CPU是怎么认识代码的?
  9. spring强行注入和引用的例子
  10. 关于LoRa安全联盟的六大常见问题