HttpURLConnection.connect() 卡死 死锁怎么解决
我的程序有时候会卡死 关闭的时候还必须用任务管理器才能结束进程经调试发现问题在
Log.println("connecting");
conn.connect();
Log.println("connected");
打印了connecting就一直不动了,卡在 conn.connect() 设置了超时时间不管用
不知道知道是什么原因引起的呢
还望各位不吝赐教,谢谢
--------------------编程问答-------------------- conn.setReadTimeout(20 * 1000);
URL serverUrl = new URL(url);
HttpURLConnection conn = (HttpURLConnection) serverUrl.openConnection();
conn.setConnectTimeout(20000);
conn.setRequestMethod(method);// "POST" ,"GET"
conn.addRequestProperty("Accept", "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8");
conn.addRequestProperty("User-Agent","Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/27.0.1453.110 Safari/537.36 CoolNovo/2.0.9.16");
if (method.equalsIgnoreCase(Method.GET.name())) {
Log.println("connecting");
conn.connect();
Log.println("connected");
} else if (method.equalsIgnoreCase(Method.POST.name())) {
conn.setDoOutput(true);
conn.connect();
conn.getOutputStream().write(contents.getBytes());
}
加上这句 --------------------编程问答-------------------- setReadTimeout --------------------编程问答-------------------- 记得流对象用完要close(); --------------------编程问答-------------------- 卡死然后干什么?
你是想要不卡死,还是卡死之后干掉,还是怎么着?
你那个url是啥,本机能不能访问? --------------------编程问答--------------------
我是想让它不卡死 或者卡死之后多少秒之后退出
url本机能访问的
我加了 conn.setReadTimeout(20 * 1000); 貌似还是有这样的情况出现
我再测试下看看
前几天一直没管这个问题 --------------------编程问答-------------------- 用jstack看一下锁在哪儿了,分析下原因呗。
补充:Java , Java EE