Aliyun OSS Java SDK超时时间设置

本文涉及的产品
对象存储 OSS,20GB 3个月
阿里云盘企业版 CDE,企业版用户数5人 500GB空间
日志服务 SLS,月写入数据量 50GB 1个月
简介: Aliyun OSS Java SDK超时时间设置

Aliyun OSS Java SDK发送一个请求,有5个阶段:
java_sdk_timeout

阶段Ⅰ

  • 从连接池中获取连接,如果使用的连接已经达到最大连接数,则等待直到有连接释放,或达到最大超时时间,抛出异常ConnectionPoolTimeoutException。如果设置了比较大最大连接数,但是并不想让连接池中真正占用很多连接,SDK会自动关闭闲置时间较长的连接。
  • 最大连接数默认1024个,使用ClientConfiguration.setMaxConnections设置。
    从连接池中获取默认不超时,可以通过ClientConfiguration.setConnectionRequestTimeout设置。默认SDK会关闭闲置超过60秒的连接,可以通过ClientConfiguration.setIdleConnectionTime设置。
  • OSS Java SDK使用连接池,是为了复用连接,减少发送请求时重复建立连接、断开连接的时间,提高服务效率、增强服务器稳定性。

阶段Ⅱ

  • 从连接池中获取的连接,如果尚未建立到OSS连接,则新建。新建连接有超时时间,超时报ConnectionTimeout。如果从连接池中获取的连接已经建立,检查连接闲置时长。如果连接闲置时长没有超过阈值,直接复用连接;如果超过阈值,检测连接有效性,有效继续使用,无效重建连接。
  • 新建连接默认超时时间50秒,可以通过ClientConfiguration.setConnectionTimeout设置。
  • 默认连接闲置时长超过2秒,复用前检查连接是否有效。 闲置连接使用前有效性检查功能在2.1.2前的版本有bug,2.1.2及其后版本修改,原因及问题详见[常见问题]。

阶段Ⅲ

  • 发送请求。请求发送的速度受网络速度的影响。发送请求的超时基于TCP协议栈的超时重传机制,一般不需要设置超时时间,目前也没有提供方法设置。

  • LINUX内核的TCP协议栈重传超时一般是15到30分钟。

阶段Ⅳ

  • 请求发送成功后,等待回复。等待回复是有超时时间的,超时会抛出异常SocketTimeout。等待数据回复超时时间默认50秒,可以通过ClientConfiguration. setSocketTimeout
  • 该参数请根据实际网络情况设置。

阶段Ⅴ

  • 接收数据。如果数据较大,会分多个包传输,收到第N个包后,超时时间内未收到第N+1包在,也会抛出异常SocketTimeout。
    包间隔超时时间与等待数据回复超时时间由参数ClientConfiguration.setSocketTimeout控制 。
  • 该参数请根据实际网络情况设置。

一些应用场景下用户需要控制整个请求的时间,即上面5个阶段的时间总和。如视频直播场景下,上传一个请求是有时效性限制的。OSS Java SDK提供了请求级别的时间设置:

// 需要开启,默认不开启
ClientConfiguration.setRequestTimeoutEnabled(true);
// 设置请求超时,单位毫秒,默认值300秒
ClientConfiguration.setRequestTimeout(300 * 1000);

如果请求超过了设置时间尚未完成,请求失败,抛出异常ClientException。

提示

  • OSS Java SDK超时单位都是毫秒。
相关实践学习
借助OSS搭建在线教育视频课程分享网站
本教程介绍如何基于云服务器ECS和对象存储OSS,搭建一个在线教育视频课程分享网站。
目录
相关文章
|
2月前
|
存储 前端开发 Java
Harry技术添加存储(minio、aliyun oss)、短信sms(aliyun、模拟)、邮件发送等功能
### SpringBoot3 + Vue3 前后端分离的Java快速开发框架更新 本次更新主要包含以下内容: 1. **端口修改**:为避免与Minio存储服务冲突,后端启动端口从9000改为9999。 2. **添加存储支持**:集成Minio和阿里云OSS对象存储服务,详细配置请参考相关文档。 3. **短信服务**:接入阿里云短信服务,并增加模拟发送功能,方便本地测试。 4. **邮件发送**:引入邮件发送功能,支持简单文本邮件和带附件邮件。 5. **完善个人中心**:优化个人中心页面,提升用户体验。
194 85
Harry技术添加存储(minio、aliyun oss)、短信sms(aliyun、模拟)、邮件发送等功能
|
5月前
|
存储 人工智能 开发工具
AI助理化繁为简,速取代码参数——使用python SDK 处理OSS存储的图片
只需要通过向AI助理提问的方式输入您的需求,即可瞬间获得核心流程代码及参数,缩短学习路径、提升开发效率。
1512 4
AI助理化繁为简,速取代码参数——使用python SDK 处理OSS存储的图片
|
7月前
|
Java Apache 开发工具
【Azure 事件中心】 org.slf4j.Logger 收集 Event Hub SDK(Java) 输出日志并以文件形式保存
【Azure 事件中心】 org.slf4j.Logger 收集 Event Hub SDK(Java) 输出日志并以文件形式保存
|
7月前
|
存储 Java API
【Azure 存储服务】Java Storage SDK 调用 uploadWithResponse 代码示例(询问ChatGTP得代码原型后人力验证)
【Azure 存储服务】Java Storage SDK 调用 uploadWithResponse 代码示例(询问ChatGTP得代码原型后人力验证)
|
4月前
|
JavaScript Java 中间件
Java CompletableFuture 异步超时实现探索
本文探讨了在JDK 8中`CompletableFuture`缺乏超时中断任务能力的问题,提出了一种异步超时实现方案,通过自定义工具类模拟JDK 9中`orTimeout`方法的功能,解决了任务超时无法精确控制的问题,适用于多线程并行执行优化场景。
|
7月前
|
Java 开发工具
通过Java SDK调用阿里云模型服务
在阿里云平台上,可以通过创建应用并使用模型服务完成特定任务,如生成文章内容。本示例展示了一段简化的Java代码,演示了如何调用阿里云模型服务生成关于“春秋战国经济与文化”的简短文章。示例代码通过设置系统角色为历史学家,并提出文章生成需求,最终处理并输出生成的文章内容。在实际部署前,请确保正确配置环境变量中的密钥和ID,并根据需要调整SDK导入语句及类名。更多详情和示例,请参考相关链接。
|
7月前
|
JSON Java API
【Azure API 管理】通过Java APIM SDK创建一个新的API,如何为Reqeust的Representation设置一个内容示例(Sample)?
【Azure API 管理】通过Java APIM SDK创建一个新的API,如何为Reqeust的Representation设置一个内容示例(Sample)?
|
7月前
|
存储 Java 开发工具
【Azure 存储服务】Java Azure Storage SDK V12使用Endpoint连接Blob Service遇见 The Azure Storage endpoint url is malformed
【Azure 存储服务】Java Azure Storage SDK V12使用Endpoint连接Blob Service遇见 The Azure Storage endpoint url is malformed
|
1月前
|
前端开发 Java Shell
【08】flutter完成屏幕适配-重建Android,增加GetX路由,屏幕适配,基础导航栏-多版本SDK以及gradle造成的关于fvm的使用(flutter version manage)-卓伊凡换人优雅草Alex-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草Alex
【08】flutter完成屏幕适配-重建Android,增加GetX路由,屏幕适配,基础导航栏-多版本SDK以及gradle造成的关于fvm的使用(flutter version manage)-卓伊凡换人优雅草Alex-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草Alex
191 20
【08】flutter完成屏幕适配-重建Android,增加GetX路由,屏幕适配,基础导航栏-多版本SDK以及gradle造成的关于fvm的使用(flutter version manage)-卓伊凡换人优雅草Alex-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草Alex
|
7月前
|
JavaScript 前端开发 Java
[Android][Framework]系统jar包,sdk的制作及引用
[Android][Framework]系统jar包,sdk的制作及引用
193 0

相关产品

  • 对象存储