调用oss java sdk的程序hang,有以下可能的情况及原因。

说明:
<code>jstack -l <pid> > js.txt</code>可以把pid的堆栈信息保存到文件js.txt中。pid可以通过<code>jps</code>命令查找到。
抓包工具,windows系统下推荐使用<code>wireshark</code>。捕获筛选器可以设置成
<code>host <bucket-name>.<endpoint></code>,例如:
linux使用<code>tcpdump</code>命令抓包,命令格式如下:
例如:
然后用wireshark打开file.cap分析抓包数据。
getobject获取的inputstream需要close,示例如下:
oss java sdk 2.2.3前的版本getsimplifiedobjectmeta调用有bug,连接没有关闭,会造成泄漏。2.2.3版本修复。
hang在<code>poolinghttpclientconnectionmanager.leaseconnection</code>的堆栈如下:
hang在<code>java.net.socketoutputstream.socketwrite</code>的堆栈如下: