Author: olegk
Date: Sun Aug 5 15:34:26 2012
New Revision: 1369612
URL: http://svn.apache.org/viewvc?rev=1369612&view=rev
Log:
Honor connection timeout specified in HTTPClientPolicy
Modified:
cxf/sandbox/dkulp_async_clients/http-hc/src/main/java/org/apache/cxf/transport/http/asyncclient/AsyncHTTPConduit.java
cxf/sandbox/dkulp_async_clients/http-hc/src/main/java/org/apache/cxf/transport/http/asyncclient/CXFAsyncRequester.java
Modified:
cxf/sandbox/dkulp_async_clients/http-hc/src/main/java/org/apache/cxf/transport/http/asyncclient/AsyncHTTPConduit.java
URL:
http://svn.apache.org/viewvc/cxf/sandbox/dkulp_async_clients/http-hc/src/main/java/org/apache/cxf/transport/http/asyncclient/AsyncHTTPConduit.java?rev=1369612&r1=1369611&r2=1369612&view=diff
==============================================================================
---
cxf/sandbox/dkulp_async_clients/http-hc/src/main/java/org/apache/cxf/transport/http/asyncclient/AsyncHTTPConduit.java
(original)
+++
cxf/sandbox/dkulp_async_clients/http-hc/src/main/java/org/apache/cxf/transport/http/asyncclient/AsyncHTTPConduit.java
Sun Aug 5 15:34:26 2012
@@ -44,7 +44,6 @@ import org.apache.http.Header;
import org.apache.http.HttpResponse;
import org.apache.http.concurrent.FutureCallback;
import org.apache.http.entity.BasicHttpEntity;
-import org.apache.http.nio.protocol.HttpAsyncResponseConsumer;
import org.apache.http.nio.util.HeapByteBufferAllocator;
import org.apache.http.protocol.BasicHttpContext;
@@ -177,9 +176,6 @@ public class AsyncHTTPConduit extends HT
};
- HttpAsyncResponseConsumer<Boolean> consumer = new
CXFHttpAsyncResponseConsumer(inbuf,
- responseCallback);
-
FutureCallback<Boolean> callback = new FutureCallback<Boolean>() {
public void completed(Boolean result) {
@@ -203,13 +199,12 @@ public class AsyncHTTPConduit extends HT
//FIXME - what to do for SSL/TLS?
//tlsClientParameters.*
- //FIXME - what to do with the connection timeout
- //long connectTimout = csPolicy.getConnectionTimeout();
-
- factory.getRequester().execute(new
CXFHttpAsyncRequestProducer(entity, outbuf),
- consumer,
- new BasicHttpContext(),
- callback);
+ factory.getRequester().execute(
+ csPolicy,
+ new CXFHttpAsyncRequestProducer(entity, outbuf),
+ new CXFHttpAsyncResponseConsumer(inbuf,
responseCallback),
+ new BasicHttpContext(),
+ callback);
wrappedStream = new OutputStream() {
public void write(byte b[], int off, int len) throws
IOException {
Modified:
cxf/sandbox/dkulp_async_clients/http-hc/src/main/java/org/apache/cxf/transport/http/asyncclient/CXFAsyncRequester.java
URL:
http://svn.apache.org/viewvc/cxf/sandbox/dkulp_async_clients/http-hc/src/main/java/org/apache/cxf/transport/http/asyncclient/CXFAsyncRequester.java?rev=1369612&r1=1369611&r2=1369612&view=diff
==============================================================================
---
cxf/sandbox/dkulp_async_clients/http-hc/src/main/java/org/apache/cxf/transport/http/asyncclient/CXFAsyncRequester.java
(original)
+++
cxf/sandbox/dkulp_async_clients/http-hc/src/main/java/org/apache/cxf/transport/http/asyncclient/CXFAsyncRequester.java
Sun Aug 5 15:34:26 2012
@@ -23,6 +23,7 @@ import java.io.IOException;
import java.util.concurrent.Future;
import java.util.concurrent.TimeUnit;
+import org.apache.cxf.transports.http.configuration.HTTPClientPolicy;
import org.apache.http.ConnectionClosedException;
import org.apache.http.ConnectionReuseStrategy;
import org.apache.http.HttpHost;
@@ -62,6 +63,7 @@ public class CXFAsyncRequester {
}
public <T> Future<T> execute(
+ final HTTPClientPolicy csPolicy,
final HttpAsyncRequestProducer requestProducer,
final HttpAsyncResponseConsumer<T> responseConsumer,
final HttpContext context,
@@ -79,7 +81,7 @@ public class CXFAsyncRequester {
HttpHost target = requestProducer.getTarget();
this.connManager.leaseConnection(
target, null,
- -1, TimeUnit.MILLISECONDS,
+ csPolicy.getConnectionTimeout(), TimeUnit.MILLISECONDS,
new ConnRequestCallback<T>(
future, requestProducer, responseConsumer, context));
return future;