hgomez      2005/04/22 00:56:43

  Modified:    src/java/org/apache/xmlrpc XmlRpcClient.java
                        XmlRpcServer.java
  Log:
  Now we can defined maxThreads (workers in fact) for XmlRPCServer/XmlRPCClient 
instance.
  Stay compatible with the old way (XmlRpc.getMaxThreads().
  
  Revision  Changes    Path
  1.21      +28 -2     ws-xmlrpc/src/java/org/apache/xmlrpc/XmlRpcClient.java
  
  Index: XmlRpcClient.java
  ===================================================================
  RCS file: /home/cvs/ws-xmlrpc/src/java/org/apache/xmlrpc/XmlRpcClient.java,v
  retrieving revision 1.20
  retrieving revision 1.21
  diff -u -r1.20 -r1.21
  --- XmlRpcClient.java 15 Apr 2005 10:21:53 -0000      1.20
  +++ XmlRpcClient.java 22 Apr 2005 07:56:43 -0000      1.21
  @@ -91,6 +91,13 @@
       private CallData first, last;
   
       /**
  +     * The maximum number of threads which can be used concurrently, by 
defaut use the one defined
  +     * in XmlRpc
  +     */
  +    private int maxThreads = -1;
  +
  +    
  +    /**
        * Construct a XML-RPC client with this URL and a specified transport
        * factory.
        */
  @@ -129,6 +136,25 @@
       }
   
       /**
  +     * Set the MaxThreads for this Client
  +     */
  +    public void setMaxThreads(int maxThreads) 
  +    {
  +     this.maxThreads = maxThreads;
  +    }
  +    
  +    /**
  +     * Get the MaxThreads for this Client
  +     */
  +    public int getMaxThreads() 
  +    {
  +     if (maxThreads == -1)
  +             return (XmlRpc.getMaxThreads());
  +     
  +     return (maxThreads);
  +    }
  +    
  +    /**
        * Return the URL for this XML-RPC client.
        */
       public URL getURL()
  @@ -346,7 +372,7 @@
           }
           catch(EmptyStackException x)
           {
  -            if (workers < XmlRpc.getMaxThreads())
  +            if (workers < getMaxThreads())
               {
                   if (async)
                   {
  
  
  
  1.39      +26 -1     ws-xmlrpc/src/java/org/apache/xmlrpc/XmlRpcServer.java
  
  Index: XmlRpcServer.java
  ===================================================================
  RCS file: /home/cvs/ws-xmlrpc/src/java/org/apache/xmlrpc/XmlRpcServer.java,v
  retrieving revision 1.38
  retrieving revision 1.39
  diff -u -r1.38 -r1.39
  --- XmlRpcServer.java 15 Apr 2005 10:21:53 -0000      1.38
  +++ XmlRpcServer.java 22 Apr 2005 07:56:43 -0000      1.39
  @@ -75,6 +75,12 @@
       private int nbrWorkers;
   
       /**
  +     * The maximum number of threads which can be used concurrently, by 
defaut use the one defined
  +     * in XmlRpc
  +     */
  +    private int maxThreads = -1;
  +
  +    /**
        * We want the <code>$default</code> handler to always be
        * available.
        */
  @@ -116,6 +122,25 @@
       }
   
       /**
  +     * Set the MaxThreads for this Client
  +     */
  +    public void setMaxThreads(int maxThreads) 
  +    {
  +     this.maxThreads = maxThreads;
  +    }
  +    
  +    /**
  +     * Get the MaxThreads for this Server
  +     */
  +    public int getMaxThreads() 
  +    {
  +     if (maxThreads == -1)
  +             return (XmlRpc.getMaxThreads());
  +     
  +     return (maxThreads);
  +    }
  +    
  +    /**
        * Parse the request and execute the handler method, if one is
        * found. Returns the result as XML.  The calling Java code
        * doesn't need to know whether the call was successful or not
  @@ -172,7 +197,7 @@
           }
           catch(EmptyStackException x)
           {
  -            int maxThreads = XmlRpc.getMaxThreads();
  +            int maxThreads = getMaxThreads();
               if (nbrWorkers < maxThreads)
               {
                   nbrWorkers += 1;
  
  
  

Reply via email to