From ed1440d4265412db68f41f07e570511a56947081 Mon Sep 17 00:00:00 2001 From: rfeng Date: Fri, 2 Sep 2011 16:17:38 +0000 Subject: Fix the usage of HttpClient and make sure connections are closed gracefully git-svn-id: http://svn.us.apache.org/repos/asf/tuscany@1164605 13f79535-47bb-0310-9956-ffa450edef68 --- .../sca/binding/jsonrpc/provider/JSONRPCBindingInvoker.java | 4 ++++ .../binding/jsonrpc/provider/JSONRPCBindingProviderFactory.java | 5 ++++- .../binding/jsonrpc/provider/JSONRPCReferenceBindingProvider.java | 8 ++++---- 3 files changed, 12 insertions(+), 5 deletions(-) (limited to 'sca-java-2.x/trunk/modules/binding-jsonrpc-runtime/src/main/java/org/apache/tuscany') diff --git a/sca-java-2.x/trunk/modules/binding-jsonrpc-runtime/src/main/java/org/apache/tuscany/sca/binding/jsonrpc/provider/JSONRPCBindingInvoker.java b/sca-java-2.x/trunk/modules/binding-jsonrpc-runtime/src/main/java/org/apache/tuscany/sca/binding/jsonrpc/provider/JSONRPCBindingInvoker.java index 526283c8fa..348b76bd14 100644 --- a/sca-java-2.x/trunk/modules/binding-jsonrpc-runtime/src/main/java/org/apache/tuscany/sca/binding/jsonrpc/provider/JSONRPCBindingInvoker.java +++ b/sca-java-2.x/trunk/modules/binding-jsonrpc-runtime/src/main/java/org/apache/tuscany/sca/binding/jsonrpc/provider/JSONRPCBindingInvoker.java @@ -183,6 +183,10 @@ public class JSONRPCBindingInvoker implements Invoker, DataExchangeSemantics { // JavaScript exceptions. throw new ServiceRuntimeException("Unable to parse response", e); } + } else { + // Consume the content so the connection can be released + response.getEntity().consumeContent(); + throw new ServiceRuntimeException("Abnormal HTTP response: " + response.getStatusLine().toString()); } } catch (Exception e) { // e.printStackTrace(); diff --git a/sca-java-2.x/trunk/modules/binding-jsonrpc-runtime/src/main/java/org/apache/tuscany/sca/binding/jsonrpc/provider/JSONRPCBindingProviderFactory.java b/sca-java-2.x/trunk/modules/binding-jsonrpc-runtime/src/main/java/org/apache/tuscany/sca/binding/jsonrpc/provider/JSONRPCBindingProviderFactory.java index c9b9328b61..8ecadf4a92 100644 --- a/sca-java-2.x/trunk/modules/binding-jsonrpc-runtime/src/main/java/org/apache/tuscany/sca/binding/jsonrpc/provider/JSONRPCBindingProviderFactory.java +++ b/sca-java-2.x/trunk/modules/binding-jsonrpc-runtime/src/main/java/org/apache/tuscany/sca/binding/jsonrpc/provider/JSONRPCBindingProviderFactory.java @@ -24,6 +24,7 @@ import org.apache.tuscany.sca.core.ExtensionPointRegistry; import org.apache.tuscany.sca.core.FactoryExtensionPoint; import org.apache.tuscany.sca.host.http.ServletHost; import org.apache.tuscany.sca.host.http.ServletHostHelper; +import org.apache.tuscany.sca.host.http.client.HttpClientFactory; import org.apache.tuscany.sca.invocation.MessageFactory; import org.apache.tuscany.sca.provider.BindingProviderFactory; import org.apache.tuscany.sca.provider.ReferenceBindingProvider; @@ -40,16 +41,18 @@ public class JSONRPCBindingProviderFactory implements BindingProviderFactory