You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@activemq.apache.org by ac...@apache.org on 2006/03/07 08:39:40 UTC
svn commit: r383814 -
/incubator/activemq/trunk/activemq-optional/src/main/java/org/apache/activemq/transport/http/HttpClientTransport.java
Author: aco
Date: Mon Mar 6 23:39:39 2006
New Revision: 383814
URL: http://svn.apache.org/viewcvs?rev=383814&view=rev
Log:
Added a timeout to the client connection to prevent hanging.
Added some cleanup codes.
Modified:
incubator/activemq/trunk/activemq-optional/src/main/java/org/apache/activemq/transport/http/HttpClientTransport.java
Modified: incubator/activemq/trunk/activemq-optional/src/main/java/org/apache/activemq/transport/http/HttpClientTransport.java
URL: http://svn.apache.org/viewcvs/incubator/activemq/trunk/activemq-optional/src/main/java/org/apache/activemq/transport/http/HttpClientTransport.java?rev=383814&r1=383813&r2=383814&view=diff
==============================================================================
--- incubator/activemq/trunk/activemq-optional/src/main/java/org/apache/activemq/transport/http/HttpClientTransport.java (original)
+++ incubator/activemq/trunk/activemq-optional/src/main/java/org/apache/activemq/transport/http/HttpClientTransport.java Mon Mar 6 23:39:39 2006
@@ -47,6 +47,8 @@
public class HttpClientTransport extends HttpTransportSupport {
private static final Log log = LogFactory.getLog(HttpClientTransport.class);
+ public static final int MAX_CLIENT_TIMEOUT = 20000;
+
private HttpClient sendHttpClient;
private HttpClient receiveHttpClient;
private String clientID;
@@ -69,6 +71,7 @@
httpMethod.setRequestBody(getTextWireFormat().toString(command));
try {
HttpClient client = getSendHttpClient();
+ client.setTimeout(MAX_CLIENT_TIMEOUT);
int answer = client.executeMethod(httpMethod);
if (answer != HttpStatus.SC_OK) {
throw new IOException("Failed to post command: " + command + " as response was: " + answer);
@@ -77,6 +80,9 @@
}
catch (IOException e) {
throw IOExceptionSupport.create("Could not post command: " + command + " due to: " + e, e);
+ } finally {
+ httpMethod.getResponseBody();
+ httpMethod.releaseConnection();
}
}
@@ -116,6 +122,9 @@
}
catch (IOException e) {
log.warn("Failed to perform GET on: " + remoteUrl + " due to: " + e, e);
+ } finally {
+ httpMethod.getResponseBody();
+ httpMethod.releaseConnection();
}
}
}