You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@airavata.apache.org by la...@apache.org on 2012/01/31 20:30:10 UTC

svn commit: r1238757 - in /incubator/airavata/trunk/modules/ws-messenger/client/src/main/java/org/apache/airavata/wsmg/msgbox/client: CreateMsgBox.java DestroyMsgBox.java StoreMessage.java TakeMessages.java

Author: lahiru
Date: Tue Jan 31 19:30:10 2012
New Revision: 1238757

URL: http://svn.apache.org/viewvc?rev=1238757&view=rev
Log:
adding multiThreadedHttpConnectionManger for MsgBox Client calls.

Modified:
    incubator/airavata/trunk/modules/ws-messenger/client/src/main/java/org/apache/airavata/wsmg/msgbox/client/CreateMsgBox.java
    incubator/airavata/trunk/modules/ws-messenger/client/src/main/java/org/apache/airavata/wsmg/msgbox/client/DestroyMsgBox.java
    incubator/airavata/trunk/modules/ws-messenger/client/src/main/java/org/apache/airavata/wsmg/msgbox/client/StoreMessage.java
    incubator/airavata/trunk/modules/ws-messenger/client/src/main/java/org/apache/airavata/wsmg/msgbox/client/TakeMessages.java

Modified: incubator/airavata/trunk/modules/ws-messenger/client/src/main/java/org/apache/airavata/wsmg/msgbox/client/CreateMsgBox.java
URL: http://svn.apache.org/viewvc/incubator/airavata/trunk/modules/ws-messenger/client/src/main/java/org/apache/airavata/wsmg/msgbox/client/CreateMsgBox.java?rev=1238757&r1=1238756&r2=1238757&view=diff
==============================================================================
--- incubator/airavata/trunk/modules/ws-messenger/client/src/main/java/org/apache/airavata/wsmg/msgbox/client/CreateMsgBox.java (original)
+++ incubator/airavata/trunk/modules/ws-messenger/client/src/main/java/org/apache/airavata/wsmg/msgbox/client/CreateMsgBox.java Tue Jan 31 19:30:10 2012
@@ -35,6 +35,11 @@ import org.apache.axis2.AxisFault;
 import org.apache.axis2.addressing.EndpointReference;
 import org.apache.axis2.client.Options;
 import org.apache.axis2.client.ServiceClient;
+import org.apache.axis2.context.ConfigurationContext;
+import org.apache.axis2.transport.http.HTTPConstants;
+import org.apache.commons.httpclient.HostConfiguration;
+import org.apache.commons.httpclient.HttpClient;
+import org.apache.commons.httpclient.MultiThreadedHttpConnectionManager;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -101,17 +106,30 @@ public class CreateMsgBox {
         opts.setAction(NameSpaceConstants.MSG_BOX.getNamespaceURI() + "/" + "createMsgBox");
 
         opts.setTimeOutInMilliSeconds(getTimeoutInMilliSeconds());
-        ServiceClient client = new ServiceClient();
+        ServiceClient _serviceClient = new ServiceClient();
+
+        MultiThreadedHttpConnectionManager httpConnectionManager = new MultiThreadedHttpConnectionManager();
+        httpConnectionManager.getParams().setMaxTotalConnections(10000000);
+        httpConnectionManager.getParams().setMaxConnectionsPerHost(HostConfiguration.ANY_HOST_CONFIGURATION, 100);
+        httpConnectionManager.getParams().setDefaultMaxConnectionsPerHost(200);
+        HttpClient httpClient = new HttpClient(httpConnectionManager);
+        ConfigurationContext configurationContext = _serviceClient.getServiceContext().getConfigurationContext();
+
+        configurationContext.setProperty(HTTPConstants.REUSE_HTTP_CLIENT, true);
+        configurationContext.setProperty(HTTPConstants.CACHED_HTTP_CLIENT, httpClient);
+        configurationContext.setProperty(HTTPConstants.AUTO_RELEASE_CONNECTION, true);
+        _serviceClient.getOptions().setTo(new org.apache.axis2.addressing.EndpointReference(msgBoxEndPointReference));
         try {
-            client.engageModule(WsmgCommonConstants.AXIS_MODULE_NAME_ADDRESSING);
+            _serviceClient.engageModule(WsmgCommonConstants.AXIS_MODULE_NAME_ADDRESSING);
             if (logger.isDebugEnabled())
                 logger.debug("Addressing module engaged");
         } catch (AxisFault e) {
             if (logger.isDebugEnabled())
                 logger.debug("Addressing module not engaged :" + e);
         }
-        client.setOptions(opts);
-        return client;
+
+        _serviceClient.setOptions(opts);
+        return _serviceClient;
     }
 
 }

Modified: incubator/airavata/trunk/modules/ws-messenger/client/src/main/java/org/apache/airavata/wsmg/msgbox/client/DestroyMsgBox.java
URL: http://svn.apache.org/viewvc/incubator/airavata/trunk/modules/ws-messenger/client/src/main/java/org/apache/airavata/wsmg/msgbox/client/DestroyMsgBox.java?rev=1238757&r1=1238756&r2=1238757&view=diff
==============================================================================
--- incubator/airavata/trunk/modules/ws-messenger/client/src/main/java/org/apache/airavata/wsmg/msgbox/client/DestroyMsgBox.java (original)
+++ incubator/airavata/trunk/modules/ws-messenger/client/src/main/java/org/apache/airavata/wsmg/msgbox/client/DestroyMsgBox.java Tue Jan 31 19:30:10 2012
@@ -31,6 +31,11 @@ import org.apache.axis2.AxisFault;
 import org.apache.axis2.addressing.EndpointReference;
 import org.apache.axis2.client.Options;
 import org.apache.axis2.client.ServiceClient;
+import org.apache.axis2.context.ConfigurationContext;
+import org.apache.axis2.transport.http.HTTPConstants;
+import org.apache.commons.httpclient.HostConfiguration;
+import org.apache.commons.httpclient.HttpClient;
+import org.apache.commons.httpclient.MultiThreadedHttpConnectionManager;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -100,12 +105,24 @@ public class DestroyMsgBox {
         opts.setTo(msgBoxEndPointReference);
         opts.setMessageId(uuid);
         opts.setAction(message.getNamespace().getNamespaceURI() + "/" + message.getLocalName());
-
         opts.setTimeOutInMilliSeconds(getTimeoutInMilliSeconds());
+        ServiceClient _serviceClient = new ServiceClient();
+
+        MultiThreadedHttpConnectionManager httpConnectionManager = new MultiThreadedHttpConnectionManager();
+        httpConnectionManager.getParams().setMaxTotalConnections(10000);
+        httpConnectionManager.getParams().setMaxConnectionsPerHost(HostConfiguration.ANY_HOST_CONFIGURATION, 100);
+        httpConnectionManager.getParams().setDefaultMaxConnectionsPerHost(200);
+        HttpClient httpClient = new HttpClient(httpConnectionManager);
+
+        ConfigurationContext configurationContext = _serviceClient.getServiceContext().getConfigurationContext();
+        configurationContext.setProperty(HTTPConstants.REUSE_HTTP_CLIENT, true);
+        configurationContext.setProperty(HTTPConstants.CACHED_HTTP_CLIENT, httpClient);
+        configurationContext.setProperty(HTTPConstants.AUTO_RELEASE_CONNECTION, true);
+
+        _serviceClient.getOptions().setTo(new org.apache.axis2.addressing.EndpointReference(msgBoxEndPointReference.getAddress()));
 
-        ServiceClient client = new ServiceClient();
         try {
-            client.engageModule(WsmgCommonConstants.AXIS_MODULE_NAME_ADDRESSING);
+            _serviceClient.engageModule(WsmgCommonConstants.AXIS_MODULE_NAME_ADDRESSING);
             if (logger.isDebugEnabled())
                 logger.debug("Addressing module engaged");
         } catch (AxisFault e) {
@@ -113,7 +130,7 @@ public class DestroyMsgBox {
                 logger.debug("Addressing module not engaged :" + e);
         }
 
-        client.setOptions(opts);
-        return client;
+        _serviceClient.setOptions(opts);
+        return _serviceClient;
     }
 }

Modified: incubator/airavata/trunk/modules/ws-messenger/client/src/main/java/org/apache/airavata/wsmg/msgbox/client/StoreMessage.java
URL: http://svn.apache.org/viewvc/incubator/airavata/trunk/modules/ws-messenger/client/src/main/java/org/apache/airavata/wsmg/msgbox/client/StoreMessage.java?rev=1238757&r1=1238756&r2=1238757&view=diff
==============================================================================
--- incubator/airavata/trunk/modules/ws-messenger/client/src/main/java/org/apache/airavata/wsmg/msgbox/client/StoreMessage.java (original)
+++ incubator/airavata/trunk/modules/ws-messenger/client/src/main/java/org/apache/airavata/wsmg/msgbox/client/StoreMessage.java Tue Jan 31 19:30:10 2012
@@ -29,6 +29,11 @@ import org.apache.axis2.AxisFault;
 import org.apache.axis2.addressing.EndpointReference;
 import org.apache.axis2.client.Options;
 import org.apache.axis2.client.ServiceClient;
+import org.apache.axis2.context.ConfigurationContext;
+import org.apache.axis2.transport.http.HTTPConstants;
+import org.apache.commons.httpclient.HostConfiguration;
+import org.apache.commons.httpclient.HttpClient;
+import org.apache.commons.httpclient.MultiThreadedHttpConnectionManager;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -90,16 +95,29 @@ public class StoreMessage {
         opts.setAction(NameSpaceConstants.MSG_BOX.getNamespaceURI() + "/" + "storeMessages");
 
         opts.setTimeOutInMilliSeconds(getTimeoutInMilliSeconds());
-        ServiceClient client = new ServiceClient();
+        ServiceClient _serviceClient = new ServiceClient();
+
+        MultiThreadedHttpConnectionManager httpConnectionManager = new MultiThreadedHttpConnectionManager();
+        httpConnectionManager.getParams().setMaxTotalConnections(10000);
+        httpConnectionManager.getParams().setMaxConnectionsPerHost(HostConfiguration.ANY_HOST_CONFIGURATION, 100);
+        httpConnectionManager.getParams().setDefaultMaxConnectionsPerHost(200);
+        HttpClient httpClient = new HttpClient(httpConnectionManager);
+        ConfigurationContext configurationContext = _serviceClient.getServiceContext().getConfigurationContext();
+
+        configurationContext.setProperty(HTTPConstants.REUSE_HTTP_CLIENT, true);
+        configurationContext.setProperty(HTTPConstants.CACHED_HTTP_CLIENT, httpClient);
+        configurationContext.setProperty(HTTPConstants.AUTO_RELEASE_CONNECTION, true);
+        _serviceClient.getOptions().setTo(new org.apache.axis2.addressing.EndpointReference(msgBoxEndPointReference.getAddress()));
         try {
-            client.engageModule(WsmgCommonConstants.AXIS_MODULE_NAME_ADDRESSING);
+            _serviceClient.engageModule(WsmgCommonConstants.AXIS_MODULE_NAME_ADDRESSING);
             if (logger.isDebugEnabled())
                 logger.debug("Addressing module engaged");
         } catch (AxisFault e) {
             if (logger.isDebugEnabled())
                 logger.debug("Addressing module not engaged :" + e);
         }
-        client.setOptions(opts);
-        return client;
+
+        _serviceClient.setOptions(opts);
+        return _serviceClient;
     }
 }

Modified: incubator/airavata/trunk/modules/ws-messenger/client/src/main/java/org/apache/airavata/wsmg/msgbox/client/TakeMessages.java
URL: http://svn.apache.org/viewvc/incubator/airavata/trunk/modules/ws-messenger/client/src/main/java/org/apache/airavata/wsmg/msgbox/client/TakeMessages.java?rev=1238757&r1=1238756&r2=1238757&view=diff
==============================================================================
--- incubator/airavata/trunk/modules/ws-messenger/client/src/main/java/org/apache/airavata/wsmg/msgbox/client/TakeMessages.java (original)
+++ incubator/airavata/trunk/modules/ws-messenger/client/src/main/java/org/apache/airavata/wsmg/msgbox/client/TakeMessages.java Tue Jan 31 19:30:10 2012
@@ -33,6 +33,11 @@ import org.apache.axis2.AxisFault;
 import org.apache.axis2.addressing.EndpointReference;
 import org.apache.axis2.client.Options;
 import org.apache.axis2.client.ServiceClient;
+import org.apache.axis2.context.ConfigurationContext;
+import org.apache.axis2.transport.http.HTTPConstants;
+import org.apache.commons.httpclient.HostConfiguration;
+import org.apache.commons.httpclient.HttpClient;
+import org.apache.commons.httpclient.MultiThreadedHttpConnectionManager;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -104,11 +109,22 @@ public class TakeMessages {
         opts.setTo(msgBoxEndPointReference);
         opts.setMessageId(uuid);
         opts.setAction(message.getNamespace().getNamespaceURI() + "/" + message.getLocalName());
-
         opts.setTimeOutInMilliSeconds(getTimeoutInMilliSeconds());
-        ServiceClient client = new ServiceClient();
+        ServiceClient _serviceClient = new ServiceClient();
+
+        MultiThreadedHttpConnectionManager httpConnectionManager = new MultiThreadedHttpConnectionManager();
+        httpConnectionManager.getParams().setMaxTotalConnections(10000);
+        httpConnectionManager.getParams().setMaxConnectionsPerHost(HostConfiguration.ANY_HOST_CONFIGURATION, 100);
+        httpConnectionManager.getParams().setDefaultMaxConnectionsPerHost(200);
+        HttpClient httpClient = new HttpClient(httpConnectionManager);
+        ConfigurationContext configurationContext = _serviceClient.getServiceContext().getConfigurationContext();
+
+        configurationContext.setProperty(HTTPConstants.REUSE_HTTP_CLIENT, true);
+        configurationContext.setProperty(HTTPConstants.CACHED_HTTP_CLIENT, httpClient);
+        configurationContext.setProperty(HTTPConstants.AUTO_RELEASE_CONNECTION, true);
+        _serviceClient.getOptions().setTo(new org.apache.axis2.addressing.EndpointReference(msgBoxEndPointReference.getAddress()));
         try {
-            client.engageModule(WsmgCommonConstants.AXIS_MODULE_NAME_ADDRESSING);
+            _serviceClient.engageModule(WsmgCommonConstants.AXIS_MODULE_NAME_ADDRESSING);
             if (logger.isDebugEnabled())
                 logger.debug("Addressing module engaged");
         } catch (AxisFault e) {
@@ -116,7 +132,7 @@ public class TakeMessages {
                 logger.debug("Addressing module not engaged :" + e);
         }
 
-        client.setOptions(opts);
-        return client;
+        _serviceClient.setOptions(opts);
+        return _serviceClient;
     }
 }