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; } }