我正在使用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.
答案 0 :(得分:0)
我假设您的意思是方法getResponseCode。尝试也设置连接超时。
HttpURLConnection con = (HttpURLConnection) new URL(url).openConnection();
con.setConnectTimeout(connectTimeout);
con.setReadTimeout(socketTimeout);