Tomcat里这个一个应用:
客户端访问我的服务器,我再通过服务器访问别人的服务器。
如果在访问别人服务器时很久没响应就会很长时间占用一个线程,而我这边客户端访问量很多,线程同时占用很多时就会把tomcat卡死,tomcat在服务器上看cpu和内存正常,只是访问网站时打不开,是一直连接的状态。
设置了超时5S,可是本地测试,当对方服务器出问题时,我这边本地访问一直在连接,好久才报错。
谁遇到过这样的问题,怎么解决? 谢谢!
使用HttpURLConnection访问URL,TOMCAT卡死
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
2条回答 默认 最新
- suziwen 2011-05-11 20:46关注
HttpURLConnection是基于HTTP协议的,其底层通过socket通信实现。如果不设置超时(timeout),在网络异常的情况下,可能会导致程序僵死而不继续往下执行。可以通过以下两个语句来设置相应的超时:
System.setProperty("sun.net.client.defaultConnectTimeout", 超时毫秒数字符串);
System.setProperty("sun.net.client.defaultReadTimeout", 超时毫秒数字符串);其中: sun.net.client.defaultConnectTimeout:连接主机的超时时间(单位:毫秒)
sun.net.client.defaultReadTimeout:从主机读取数据的超时时间(单位:毫秒)本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报
悬赏问题
- ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
- ¥20 有关区间dp的问题求解
- ¥15 多电路系统共用电源的串扰问题
- ¥15 slam rangenet++配置
- ¥15 有没有研究水声通信方面的帮我改俩matlab代码
- ¥15 ubuntu子系统密码忘记
- ¥15 信号傅里叶变换在matlab上遇到的小问题请求帮助
- ¥15 保护模式-系统加载-段寄存器
- ¥15 电脑桌面设定一个区域禁止鼠标操作
- ¥15 求NPF226060磁芯的详细资料