You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tuscany.apache.org by lr...@apache.org on 2009/10/13 19:40:59 UTC

svn commit: r824857 - in /tuscany/java/sca/modules/binding-jsonrpc-runtime: ./ src/main/java/org/apache/tuscany/sca/binding/jsonrpc/provider/

Author: lresende
Date: Tue Oct 13 17:40:59 2009
New Revision: 824857

URL: http://svn.apache.org/viewvc?rev=824857&view=rev
Log:
Migrating to HttpClient 4.0 to use the same dependencies as other extensions

Modified:
    tuscany/java/sca/modules/binding-jsonrpc-runtime/pom.xml
    tuscany/java/sca/modules/binding-jsonrpc-runtime/src/main/java/org/apache/tuscany/sca/binding/jsonrpc/provider/JSONRPCBindingInvoker.java
    tuscany/java/sca/modules/binding-jsonrpc-runtime/src/main/java/org/apache/tuscany/sca/binding/jsonrpc/provider/JSONRPCReferenceBindingProvider.java

Modified: tuscany/java/sca/modules/binding-jsonrpc-runtime/pom.xml
URL: http://svn.apache.org/viewvc/tuscany/java/sca/modules/binding-jsonrpc-runtime/pom.xml?rev=824857&r1=824856&r2=824857&view=diff
==============================================================================
--- tuscany/java/sca/modules/binding-jsonrpc-runtime/pom.xml (original)
+++ tuscany/java/sca/modules/binding-jsonrpc-runtime/pom.xml Tue Oct 13 17:40:59 2009
@@ -67,9 +67,9 @@
         </dependency>
         
         <dependency>
-           <groupId>commons-httpclient</groupId>
-           <artifactId>commons-httpclient</artifactId>
-           <version>3.1</version>
+            <groupId>org.apache.httpcomponents</groupId>
+            <artifactId>httpclient</artifactId>
+            <version>4.0</version>
         </dependency>    
         
         <dependency>

Modified: tuscany/java/sca/modules/binding-jsonrpc-runtime/src/main/java/org/apache/tuscany/sca/binding/jsonrpc/provider/JSONRPCBindingInvoker.java
URL: http://svn.apache.org/viewvc/tuscany/java/sca/modules/binding-jsonrpc-runtime/src/main/java/org/apache/tuscany/sca/binding/jsonrpc/provider/JSONRPCBindingInvoker.java?rev=824857&r1=824856&r2=824857&view=diff
==============================================================================
--- tuscany/java/sca/modules/binding-jsonrpc-runtime/src/main/java/org/apache/tuscany/sca/binding/jsonrpc/provider/JSONRPCBindingInvoker.java (original)
+++ tuscany/java/sca/modules/binding-jsonrpc-runtime/src/main/java/org/apache/tuscany/sca/binding/jsonrpc/provider/JSONRPCBindingInvoker.java Tue Oct 13 17:40:59 2009
@@ -19,9 +19,12 @@
 
 package org.apache.tuscany.sca.binding.jsonrpc.provider;
 
-import org.apache.commons.httpclient.HttpClient;
-import org.apache.commons.httpclient.methods.PostMethod;
-import org.apache.commons.httpclient.methods.StringRequestEntity;
+import org.apache.http.HttpResponse;
+import org.apache.http.HttpStatus;
+import org.apache.http.client.HttpClient;
+import org.apache.http.client.methods.HttpPost;
+import org.apache.http.entity.StringEntity;
+import org.apache.http.util.EntityUtils;
 import org.apache.tuscany.sca.assembly.EndpointReference;
 import org.apache.tuscany.sca.binding.jsonrpc.JSONRPCBinding;
 import org.apache.tuscany.sca.interfacedef.Operation;
@@ -52,7 +55,8 @@
     }
 
     public Message invoke(Message msg) {
-        PostMethod post = null;
+        HttpPost post = null;
+        HttpResponse response = null;
         try {
 
             JSONObject jsonRequest = null;;
@@ -76,19 +80,19 @@
                 throw new RuntimeException("Unable to parse JSON parameter", e);
             }
 
-            post = new PostMethod(uri);
+            post = new HttpPost(uri);
             String req = jsonRequest.toString();
-            StringRequestEntity entity = new StringRequestEntity(req, "application/json", "UTF-8");
-            post.setRequestEntity(entity);
+            StringEntity entity = new StringEntity(req, "application/json; charset\"UTF-8\"");
+            post.setEntity(entity);
 
-            httpClient.executeMethod(post);
-            int status = post.getStatusCode();
+            response = httpClient.execute(post);
 
-            if (status == 200) {
+            if (response.getStatusLine().getStatusCode() == HttpStatus.SC_OK) {
                 //success 
                 JSONObject jsonResponse = null;
                 try {
-                    jsonResponse = new JSONObject(post.getResponseBodyAsString());
+
+                    jsonResponse = new JSONObject(EntityUtils.toString(response.getEntity()));
 
                     //check requestId
                     if (! jsonResponse.getString("id").equalsIgnoreCase(requestId)) {
@@ -106,10 +110,6 @@
         } catch (Exception e) {
             e.printStackTrace();
             msg.setFaultBody(e);
-        } finally {
-            if (post != null) {
-                post.releaseConnection();
-            }
         }
 
         return msg;

Modified: tuscany/java/sca/modules/binding-jsonrpc-runtime/src/main/java/org/apache/tuscany/sca/binding/jsonrpc/provider/JSONRPCReferenceBindingProvider.java
URL: http://svn.apache.org/viewvc/tuscany/java/sca/modules/binding-jsonrpc-runtime/src/main/java/org/apache/tuscany/sca/binding/jsonrpc/provider/JSONRPCReferenceBindingProvider.java?rev=824857&r1=824856&r2=824857&view=diff
==============================================================================
--- tuscany/java/sca/modules/binding-jsonrpc-runtime/src/main/java/org/apache/tuscany/sca/binding/jsonrpc/provider/JSONRPCReferenceBindingProvider.java (original)
+++ tuscany/java/sca/modules/binding-jsonrpc-runtime/src/main/java/org/apache/tuscany/sca/binding/jsonrpc/provider/JSONRPCReferenceBindingProvider.java Tue Oct 13 17:40:59 2009
@@ -19,9 +19,20 @@
 
 package org.apache.tuscany.sca.binding.jsonrpc.provider;
 
-import org.apache.commons.httpclient.HttpClient;
-import org.apache.commons.httpclient.HttpConnectionManager;
-import org.apache.commons.httpclient.MultiThreadedHttpConnectionManager;
+import org.apache.commons.httpclient.params.HttpConnectionManagerParams;
+import org.apache.http.HttpHost;
+import org.apache.http.client.HttpClient;
+import org.apache.http.conn.ClientConnectionManager;
+import org.apache.http.conn.scheme.PlainSocketFactory;
+import org.apache.http.conn.scheme.Scheme;
+import org.apache.http.conn.scheme.SchemeRegistry;
+import org.apache.http.impl.client.DefaultHttpClient;
+import org.apache.http.impl.conn.tsccm.ThreadSafeClientConnManager;
+import org.apache.http.params.BasicHttpParams;
+import org.apache.http.params.HttpConnectionParams;
+import org.apache.http.params.HttpParams;
+import org.apache.http.params.HttpProtocolParams;
+import org.apache.http.protocol.HTTP;
 import org.apache.tuscany.sca.assembly.EndpointReference;
 import org.apache.tuscany.sca.interfacedef.InterfaceContract;
 import org.apache.tuscany.sca.interfacedef.Operation;
@@ -57,10 +68,18 @@
         JSONRPCDatabindingHelper.setDataBinding(referenceContract.getInterface());
         
         // Create an HTTP client
-        HttpConnectionManager connectionManager = new MultiThreadedHttpConnectionManager();
-        connectionManager.getParams().setDefaultMaxConnectionsPerHost(10);
-        connectionManager.getParams().setConnectionTimeout(60000);
-        httpClient = new HttpClient(connectionManager);
+        HttpParams defaultParameters = new BasicHttpParams();
+        defaultParameters.setIntParameter(HttpConnectionManagerParams.MAX_TOTAL_CONNECTIONS, 10);
+        HttpProtocolParams.setContentCharset(defaultParameters, HTTP.UTF_8);
+        HttpConnectionParams.setConnectionTimeout(defaultParameters, 60000);
+        HttpConnectionParams.setSoTimeout(defaultParameters, 60000);
+        
+        SchemeRegistry supportedSchemes = new SchemeRegistry();
+        supportedSchemes.register(new Scheme(HttpHost.DEFAULT_SCHEME_NAME, PlainSocketFactory.getSocketFactory(), 80));
+        
+        ClientConnectionManager connectionManager = new ThreadSafeClientConnManager(defaultParameters, supportedSchemes);
+
+        httpClient = new DefaultHttpClient(connectionManager, defaultParameters);
     }
 
     public InterfaceContract getBindingInterfaceContract() {