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