Web applications HttpUrlConnection.getStatusCode永久挂起(无例外)

Web applications HttpUrlConnection.getStatusCode永久挂起(无例外),web-applications,jakarta-ee,httpurlconnection,Web Applications,Jakarta Ee,Httpurlconnection,我正在一个带有web应用程序模块的JavaEAR应用程序中工作。在此模块中,有一个类通过HttpUrlConnection调用其他web应用程序(托管在同一应用程序服务器-Glassfish 2.1中) 问题是。。。当我单击调用该方法以调用其他web应用程序的按钮时,它工作正常。但是,当我在浏览器上打开太多标记,并快速单击同一按钮时。也就是说,我经常调用该方法(调用其他web应用程序)。该方法挂起在行HttpUrlConnection.getStatusCode()上 我在谷歌上搜索过这个。。。

我正在一个带有web应用程序模块的JavaEAR应用程序中工作。在此模块中,有一个类通过
HttpUrlConnection
调用其他web应用程序(托管在同一应用程序服务器-Glassfish 2.1中)

问题是。。。当我单击调用该方法以调用其他web应用程序的按钮时,它工作正常。但是,当我在浏览器上打开太多标记,并快速单击同一按钮时。也就是说,我经常调用该方法(调用其他web应用程序)。该方法挂起在行
HttpUrlConnection.getStatusCode()

我在谷歌上搜索过这个。。。我已尝试放置属性
setRequestProperty(“连接”、“关闭”)
,以及属性
setReadTimeout(5000)
。但它不起作用

我试图在方法(调用另一个web应用程序)上放置一个信号量控件,这样每个调用都独立于其他调用(我打破了同时性)

我不知道到底是什么问题。但是,当我调用
HttpUrlConnection.getStatusCode()
太多次时,该方法将永远挂起(它不会返回,也不会引发任何异常)


我正在做一个POST HTTP调用。我使用的是JDK 6。

我想你指的是getResponseCode方法。还可以尝试设置连接超时

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

对关于方法名称,您是对的。但是我尝试了这个解决方案(setConnectTimeout)。它不起作用。