You are viewing a plain text version of this content. The canonical link for it is here.
Posted to xmlrpc-dev@ws.apache.org by jo...@apache.org on 2006/05/09 23:02:52 UTC

svn commit: r405536 - in /webservices/xmlrpc/branches/XMLRPC_2_0_BRANCH: changes.xml src/java/org/apache/xmlrpc/XmlRpcClient.java

Author: jochen
Date: Tue May  9 14:02:50 2006
New Revision: 405536

URL: http://svn.apache.org/viewcvs?rev=405536&view=rev
Log:
Made the maximum number of async workers configurable.
PR: XMLRPC-40

Modified:
    webservices/xmlrpc/branches/XMLRPC_2_0_BRANCH/changes.xml
    webservices/xmlrpc/branches/XMLRPC_2_0_BRANCH/src/java/org/apache/xmlrpc/XmlRpcClient.java

Modified: webservices/xmlrpc/branches/XMLRPC_2_0_BRANCH/changes.xml
URL: http://svn.apache.org/viewcvs/webservices/xmlrpc/branches/XMLRPC_2_0_BRANCH/changes.xml?rev=405536&r1=405535&r2=405536&view=diff
==============================================================================
--- webservices/xmlrpc/branches/XMLRPC_2_0_BRANCH/changes.xml (original)
+++ webservices/xmlrpc/branches/XMLRPC_2_0_BRANCH/changes.xml Tue May  9 14:02:50 2006
@@ -10,6 +10,9 @@
         prevented, that the method could finally fail, resulting
         in a never ending loop.
       </action>
+      <action dev="jochen" type="enhancement" issue="XMLRPC-40">
+        Made the maximum number of async workers configurable.
+      </action> 
     </release>
     <release version="2.0.1" date="28-Dec-2005">
       <action dev="jochen" type="fix" issue="XMLRPC-68"

Modified: webservices/xmlrpc/branches/XMLRPC_2_0_BRANCH/src/java/org/apache/xmlrpc/XmlRpcClient.java
URL: http://svn.apache.org/viewcvs/webservices/xmlrpc/branches/XMLRPC_2_0_BRANCH/src/java/org/apache/xmlrpc/XmlRpcClient.java?rev=405536&r1=405535&r2=405536&view=diff
==============================================================================
--- webservices/xmlrpc/branches/XMLRPC_2_0_BRANCH/src/java/org/apache/xmlrpc/XmlRpcClient.java (original)
+++ webservices/xmlrpc/branches/XMLRPC_2_0_BRANCH/src/java/org/apache/xmlrpc/XmlRpcClient.java Tue May  9 14:02:50 2006
@@ -59,6 +59,10 @@
      */
     private int maxThreads = -1;
 
+    /**
+     * The maximum number of async workers.
+     */
+    private int maxAsyncWorkers = 4;
     
     /**
      * Construct a XML-RPC client with this URL and a specified transport
@@ -234,7 +238,7 @@
 
         // if at least 4 threads are running, don't create any new ones,
         // just enqueue the request.
-        if (asyncWorkers >= 4)
+        if (asyncWorkers >= getMaxAsyncWorkers())
         {
             enqueue(call);
             return;
@@ -497,5 +501,21 @@
                     + "<url> <method> <arg> ....");
             System.err.println("Arguments are sent as integers or strings.");
         }
+    }
+
+    /**
+     * Returns the maximum number of async workers.
+     */
+    public int getMaxAsyncWorkers()
+    {
+        return maxAsyncWorkers;
+    }
+
+    /**
+     * Sets the maximum number of async workers.
+     */
+    public void setMaxAsyncWorkers( int maxAsyncWorkers )
+    {
+        this.maxAsyncWorkers = maxAsyncWorkers;
     }
 }