HttpUrlConnection.getStatusCode永远挂起(无例外)

时间:2011-11-28 12:36:48

标签: web-applications java-ee httpurlconnection

我正在使用Web应用程序模块的Java ear应用程序。在此模块中,有一个类通过HttpUrlConnection调用其他Web应用程序(托管在同一应用程序服务器 - Glassfish 2.1中)。

问题是......当我点击调用该方法来调用其他Web应用程序的按钮时,它工作正常。但是,当我在浏览器上打开太多标签时,快速点击同一个按钮。这是,当我经常调用该方法(调用其他Web应用程序)。该方法挂在HttpUrlConnection.getStatusCode()行上。

我在Google上搜索过此内容...我尝试将属性setRequestProperty("Connection", "Close")和属性setReadTimeout(5000)放在一起。但它不起作用。

我试图在方法上调用信号量控件(调用其他Web应用程序),因此每次调用都独立于其他调用(我打破了同时性)。

我不知道究竟是什么问题。但是当我调用HttpUrlConnection.getStatusCode()太多次时,该方法永远挂起(它不会返回,并且不会抛出任何异常)。

我正在进行POST HTTP调用。我正在使用JDK 6.

1 个答案:

答案 0 :(得分:0)

我假设您的意思是方法getResponseCode。尝试也设置连接超时。

HttpURLConnection con = (HttpURLConnection) new URL(url).openConnection();
con.setConnectTimeout(connectTimeout);
con.setReadTimeout(socketTimeout);