olegk       2003/10/26 01:49:16

  Modified:    httpclient/src/examples ClientApp.java CookieDemoApp.java
                        MultipartFileUploadApp.java TrivialApp.java
               httpclient/src/java/org/apache/commons/httpclient
                        HttpClient.java
                        MultiThreadedHttpConnectionManager.java
               httpclient/src/java/org/apache/commons/httpclient/params
                        HttpClientParams.java
                        HttpConnectionManagerParams.java
               httpclient/src/test/org/apache/commons/httpclient
                        TestHttpConnection.java
                        TestHttpConnectionManager.java
  Log:
  PR #15435 (New Preferences Architecture)
  
  - SocketTimeout/ConnectionTimeout removed from the HttpClientParams class.
  - MultithreadedConnectionManager updated to take advantage of the new preference 
architecture
  
  Contributed by Oleg Kalnichevski
  Reviewed by Michael Becke
  
  Revision  Changes    Path
  1.13      +2 -1      jakarta-commons/httpclient/src/examples/ClientApp.java
  
  Index: ClientApp.java
  ===================================================================
  RCS file: /home/cvs/jakarta-commons/httpclient/src/examples/ClientApp.java,v
  retrieving revision 1.12
  retrieving revision 1.13
  diff -u -r1.12 -r1.13
  --- ClientApp.java    3 Oct 2003 20:57:35 -0000       1.12
  +++ ClientApp.java    26 Oct 2003 09:49:16 -0000      1.13
  @@ -121,7 +121,8 @@
           
           public HttpClientFrame() {            
               client = new HttpClient(new MultiThreadedHttpConnectionManager());
  -            client.getParams().setConnectionTimeout(30000);
  +            client.getHttpConnectionManager().
  +                getParams().setConnectionTimeout(30000);
   
               JPanel panInput = new JPanel(new FlowLayout());
   
  
  
  
  1.13      +5 -4      jakarta-commons/httpclient/src/examples/CookieDemoApp.java
  
  Index: CookieDemoApp.java
  ===================================================================
  RCS file: /home/cvs/jakarta-commons/httpclient/src/examples/CookieDemoApp.java,v
  retrieving revision 1.12
  retrieving revision 1.13
  diff -u -r1.12 -r1.13
  --- CookieDemoApp.java        20 Oct 2003 22:17:11 -0000      1.12
  +++ CookieDemoApp.java        26 Oct 2003 09:49:16 -0000      1.13
  @@ -111,7 +111,8 @@
   
           // Get HTTP client instance
           HttpClient httpclient = new HttpClient();
  -        httpclient.getParams().setConnectionTimeout(30000);
  +        httpclient.getHttpConnectionManager().
  +            getParams().setConnectionTimeout(30000);
           httpclient.setState(initialState);
   
           // RFC 2101 cookie management spec is used per default
  
  
  
  1.8       +2 -1      
jakarta-commons/httpclient/src/examples/MultipartFileUploadApp.java
  
  Index: MultipartFileUploadApp.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-commons/httpclient/src/examples/MultipartFileUploadApp.java,v
  retrieving revision 1.7
  retrieving revision 1.8
  diff -u -r1.7 -r1.8
  --- MultipartFileUploadApp.java       3 Oct 2003 20:57:35 -0000       1.7
  +++ MultipartFileUploadApp.java       26 Oct 2003 09:49:16 -0000      1.8
  @@ -188,7 +188,8 @@
                           appendMessage("Uploading " + targetFile.getName() + " to " 
+ targetURL);
                           filePost.addParameter(targetFile.getName(), targetFile);
                           HttpClient client = new HttpClient();
  -                        client.getParams().setConnectionTimeout(5000);
  +                        client.getHttpConnectionManager().
  +                            getParams().setConnectionTimeout(5000);
                           int status = client.executeMethod(filePost);
                           if (status == HttpStatus.SC_OK) {
                               appendMessage(
  
  
  
  1.15      +5 -4      jakarta-commons/httpclient/src/examples/TrivialApp.java
  
  Index: TrivialApp.java
  ===================================================================
  RCS file: /home/cvs/jakarta-commons/httpclient/src/examples/TrivialApp.java,v
  retrieving revision 1.14
  retrieving revision 1.15
  diff -u -r1.14 -r1.15
  --- TrivialApp.java   3 Oct 2003 20:57:35 -0000       1.14
  +++ TrivialApp.java   26 Oct 2003 09:49:16 -0000      1.15
  @@ -110,7 +110,8 @@
           HttpClient client = new HttpClient();
   
           //establish a connection within 5 seconds
  -        client.getParams().setConnectionTimeout(5000);
  +        client.getHttpConnectionManager().
  +            getParams().setConnectionTimeout(5000);
   
           //set the default credentials
           if (creds != null) {
  
  
  
  1.88      +10 -10    
jakarta-commons/httpclient/src/java/org/apache/commons/httpclient/HttpClient.java
  
  Index: HttpClient.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-commons/httpclient/src/java/org/apache/commons/httpclient/HttpClient.java,v
  retrieving revision 1.87
  retrieving revision 1.88
  diff -u -r1.87 -r1.88
  --- HttpClient.java   22 Oct 2003 19:31:00 -0000      1.87
  +++ HttpClient.java   26 Oct 2003 09:49:16 -0000      1.88
  @@ -296,12 +296,12 @@
        *
        * @param newTimeoutInMilliseconds Timeout in milliseconds
        * 
  -     * @deprecated Use [EMAIL PROTECTED] HttpClientParams#setSoTimeout(int)},
  -     * [EMAIL PROTECTED] HttpClient#getParams()}.
  +     * @deprecated Use [EMAIL PROTECTED] 
HttpConnectionManagerParams#setSoTimeout(int)},
  +     * [EMAIL PROTECTED] HttpConnectionManager#getParams()}.
        *
        */
       public synchronized void setTimeout(int newTimeoutInMilliseconds) {
  -        this.params.setSoTimeout(newTimeoutInMilliseconds);
  +        
this.httpConnectionManager.getParams().setSoTimeout(newTimeoutInMilliseconds);
       }
   
       /**
  @@ -327,11 +327,11 @@
        * @see HttpConnection#setConnectionTimeout(int)
        * @param newTimeoutInMilliseconds Timeout in milliseconds.
        * 
  -     * @deprecated Use [EMAIL PROTECTED] 
HttpClientParams#setConnectionTimeout(int)},
  -     * [EMAIL PROTECTED] HttpClient#getParams()}.
  +     * @deprecated Use [EMAIL PROTECTED] 
HttpConnectionManagerParams#setConnectionTimeout(int)},
  +     * [EMAIL PROTECTED] HttpConnectionManager#getParams()}.
        */
       public synchronized void setConnectionTimeout(int newTimeoutInMilliseconds) {
  -       this.params.setConnectionTimeout(newTimeoutInMilliseconds);
  +       
this.httpConnectionManager.getParams().setConnectionTimeout(newTimeoutInMilliseconds);
       }
   
       // --------------------------------------------------------- Public Methods
  
  
  
  1.27      +34 -13    
jakarta-commons/httpclient/src/java/org/apache/commons/httpclient/MultiThreadedHttpConnectionManager.java
  
  Index: MultiThreadedHttpConnectionManager.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-commons/httpclient/src/java/org/apache/commons/httpclient/MultiThreadedHttpConnectionManager.java,v
  retrieving revision 1.26
  retrieving revision 1.27
  diff -u -r1.26 -r1.27
  --- MultiThreadedHttpConnectionManager.java   22 Oct 2003 19:31:00 -0000      1.26
  +++ MultiThreadedHttpConnectionManager.java   26 Oct 2003 09:49:16 -0000      1.27
  @@ -111,12 +111,6 @@
        */
       private HttpConnectionManagerParams params = new HttpConnectionManagerParams(); 
   
  -    /** Maximum number of connections allowed per host */
  -    private int maxHostConnections = DEFAULT_MAX_HOST_CONNECTIONS;
  -
  -    /** Maximum number of connections allowed overall */
  -    private int maxTotalConnections = DEFAULT_MAX_TOTAL_CONNECTIONS;
  -
       /** Connection Pool */
       private ConnectionPool connectionPool;
   
  @@ -177,9 +171,14 @@
        *
        * @param maxHostConnections the number of connections allowed for each
        * hostConfiguration
  +     * 
  +     * @deprecated Use [EMAIL PROTECTED] 
HttpConnectionManagerParams#MAX_HOST_CONNECTIONS},
  +     * [EMAIL PROTECTED] HttpConnectionManager#getParams()}.
        */
       public void setMaxConnectionsPerHost(int maxHostConnections) {
  -        this.maxHostConnections = maxHostConnections;
  +        this.params.setIntParameter(
  +            HttpConnectionManagerParams.MAX_HOST_CONNECTIONS,
  +            maxHostConnections);
       }
   
       /**
  @@ -188,27 +187,42 @@
        *
        * @return The maximum number of connections allowed for a given
        * hostConfiguration.
  +     * 
  +     * @deprecated Use [EMAIL PROTECTED] 
HttpConnectionManagerParams#MAX_HOST_CONNECTIONS},
  +     * [EMAIL PROTECTED] HttpConnectionManager#getParams()}.
        */
       public int getMaxConnectionsPerHost() {
  -        return maxHostConnections;
  +        return this.params.getIntParameter(
  +            HttpConnectionManagerParams.MAX_HOST_CONNECTIONS,
  +            DEFAULT_MAX_HOST_CONNECTIONS);
       }
   
       /**
        * Sets the maximum number of connections allowed in the system.
        *
        * @param maxTotalConnections the maximum number of connections allowed
  +     * 
  +     * @deprecated Use [EMAIL PROTECTED] 
HttpConnectionManagerParams#MAX_TOTAL_CONNECTIONS},
  +     * [EMAIL PROTECTED] HttpConnectionManager#getParams()}.
        */
       public void setMaxTotalConnections(int maxTotalConnections) {
  -        this.maxTotalConnections = maxTotalConnections;
  +        this.params.setIntParameter(
  +            HttpConnectionManagerParams.MAX_TOTAL_CONNECTIONS,
  +            maxTotalConnections);
       }
   
       /**
        * Gets the maximum number of connections allowed in the system.
        *
        * @return The maximum number of connections allowed
  +     * 
  +     * @deprecated Use [EMAIL PROTECTED] 
HttpConnectionManagerParams#MAX_TOTAL_CONNECTIONS},
  +     * [EMAIL PROTECTED] HttpConnectionManager#getParams()}.
        */
       public int getMaxTotalConnections() {
  -        return maxTotalConnections;
  +        return this.params.getIntParameter(
  +            HttpConnectionManagerParams.MAX_TOTAL_CONNECTIONS,
  +            DEFAULT_MAX_TOTAL_CONNECTIONS);
       }
   
       /**
  @@ -291,6 +305,13 @@
   
           HttpConnection connection = null;
   
  +        int maxHostConnections = this.params.getIntParameter(
  +            HttpConnectionManagerParams.MAX_HOST_CONNECTIONS,
  +            DEFAULT_MAX_HOST_CONNECTIONS);
  +        int maxTotalConnections = this.params.getIntParameter(
  +            HttpConnectionManagerParams.MAX_TOTAL_CONNECTIONS,
  +            DEFAULT_MAX_TOTAL_CONNECTIONS);
  +        
           synchronized (connectionPool) {
   
               // we clone the hostConfiguration
  
  
  
  1.3       +4 -61     
jakarta-commons/httpclient/src/java/org/apache/commons/httpclient/params/HttpClientParams.java
  
  Index: HttpClientParams.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-commons/httpclient/src/java/org/apache/commons/httpclient/params/HttpClientParams.java,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- HttpClientParams.java     23 Sep 2003 19:51:49 -0000      1.2
  +++ HttpClientParams.java     26 Oct 2003 09:49:16 -0000      1.3
  @@ -83,21 +83,6 @@
       private static final Log LOG = LogFactory.getLog(HttpParams.class);
   
       /**
  -     * Sets the socket timeout (<tt>SO_TIMEOUT</tt>) in milliseconds which is the 
  -     * timeout for waiting for data. A timeout value of zero is interpreted as an 
  -     * infinite timeout.
  -     * This parameter expects a value of type [EMAIL PROTECTED] Integer}.
  -     */
  -    public static final String SO_TIMEOUT = "http.socket.timeout"; 
  -
  -    /**
  -     * Sets the timeout until a connection is etablished. A value of zero 
  -     * means the timeout is not used. The default value is zero.
  -     * This parameter expects a value of type [EMAIL PROTECTED] Integer}.
  -     */
  -    public static final String CONNECTION_TIMEOUT = "http.connection.timeout"; 
  -
  -    /**
        * Sets the timeout in milliseconds used when retrieving an 
        * [EMAIL PROTECTED] org.apache.commons.httpclient.HttpConnection HTTP 
connection} from the
        * [EMAIL PROTECTED] org.apache.commons.httpclient.HttpConnectionManager HTTP 
connection manager}.
  @@ -150,48 +135,6 @@
        */
       public HttpClientParams(HttpParams defaults) {
           super(defaults);
  -    }
  -
  -    /**
  -     * Returns the socket timeout (<tt>SO_TIMEOUT</tt>) in milliseconds which is 
the 
  -     * timeout for waiting for data. A timeout value of zero is interpreted as an 
  -     * infinite timeout.
  -     *
  -     * @return timeout in milliseconds
  -     */
  -    public int getSoTimeout() {
  -        return getIntParameter(SO_TIMEOUT, 0);
  -    }
  -
  -    /**
  -     * Sets the socket timeout (<tt>SO_TIMEOUT</tt>) in milliseconds which is the 
  -     * timeout for waiting for data. A timeout value of zero is interpreted as an 
  -     * infinite timeout.
  -     *
  -     * @param timeout Timeout in milliseconds
  -     */
  -    public void setSoTimeout(int timeout) {
  -        setIntParameter(SO_TIMEOUT, timeout);
  -    }
  -
  -    /**
  -     * Returns the timeout until a connection is etablished. A value of zero 
  -     * means the timeout is not used. The default value is zero.
  -     * 
  -     * @return timeout in milliseconds.
  -     */
  -    public int getConnectionTimeout() {
  -        return getIntParameter(CONNECTION_TIMEOUT, 0);
  -    }
  -
  -    /**
  -     * Sets the timeout until a connection is etablished. A value of zero 
  -     * means the timeout is not used. The default value is zero.
  -     * 
  -     * @param timeout Timeout in milliseconds.
  -     */
  -    public void setConnectionTimeout(int timeout) {
  -        setIntParameter(CONNECTION_TIMEOUT, timeout);
       }
   
       /**
  
  
  
  1.2       +21 -4     
jakarta-commons/httpclient/src/java/org/apache/commons/httpclient/params/HttpConnectionManagerParams.java
  
  Index: HttpConnectionManagerParams.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-commons/httpclient/src/java/org/apache/commons/httpclient/params/HttpConnectionManagerParams.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- HttpConnectionManagerParams.java  22 Oct 2003 19:35:33 -0000      1.1
  +++ HttpConnectionManagerParams.java  26 Oct 2003 09:49:16 -0000      1.2
  @@ -75,4 +75,21 @@
    * @version $Revision$
    */
   public class HttpConnectionManagerParams extends HttpConnectionParams {
  +
  +    /** 
  +     * Defines the maximum number of connections allowed per host 
  +     * <p>
  +     * This parameter expects a value of type [EMAIL PROTECTED] Integer}.
  +     * </p>
  +     */
  +    public static String MAX_HOST_CONNECTIONS = 
"http.connection-manager.max-per-host";
  +
  +    /** 
  +     * Defines the maximum number of connections allowed overall 
  +     * <p>
  +     * This parameter expects a value of type [EMAIL PROTECTED] Integer}.
  +     * </p>
  +     */
  +    public static String MAX_TOTAL_CONNECTIONS = 
"http.connection-manager.max-total";
  +
   }
  
  
  
  1.13      +1 -1      
jakarta-commons/httpclient/src/test/org/apache/commons/httpclient/TestHttpConnection.java
  
  Index: TestHttpConnection.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-commons/httpclient/src/test/org/apache/commons/httpclient/TestHttpConnection.java,v
  retrieving revision 1.12
  retrieving revision 1.13
  diff -u -r1.12 -r1.13
  --- TestHttpConnection.java   22 Oct 2003 19:31:00 -0000      1.12
  +++ TestHttpConnection.java   26 Oct 2003 09:49:16 -0000      1.13
  @@ -129,7 +129,7 @@
           connectionManager.setConnection(new HttpConnection(getHost(), getPort(), 
testProtocol));
           HttpClient client = createHttpClient(connectionManager);
           client.getHostConfiguration().setHost(getHost(), getPort(), testProtocol);
  -        client.getParams().setConnectionTimeout(1);
  +        client.getHttpConnectionManager().getParams().setConnectionTimeout(1);
           
           try {
               GetMethod get = new GetMethod();
  
  
  
  1.12      +29 -27    
jakarta-commons/httpclient/src/test/org/apache/commons/httpclient/TestHttpConnectionManager.java
  
  Index: TestHttpConnectionManager.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-commons/httpclient/src/test/org/apache/commons/httpclient/TestHttpConnectionManager.java,v
  retrieving revision 1.11
  retrieving revision 1.12
  diff -u -r1.11 -r1.12
  --- TestHttpConnectionManager.java    3 Oct 2003 20:57:36 -0000       1.11
  +++ TestHttpConnectionManager.java    26 Oct 2003 09:49:16 -0000      1.12
  @@ -71,6 +71,7 @@
   import junit.framework.TestSuite;
   
   import org.apache.commons.httpclient.methods.GetMethod;
  +import org.apache.commons.httpclient.params.HttpConnectionManagerParams;
   import org.apache.commons.httpclient.protocol.Protocol;
   import org.apache.commons.httpclient.protocol.SecureProtocolSocketFactory;
   
  @@ -102,17 +103,6 @@
   
       // ----------------------------------------------------------- Test Methods
   
  -    // Test the accessor methods
  -    public void testMaxConnectionsAccessors() {
  -        MultiThreadedHttpConnectionManager mgr = new 
MultiThreadedHttpConnectionManager();
  -
  -        // First test the default value
  -        assertEquals("Default MaxConnections", 2, mgr.getMaxConnectionsPerHost());
  -
  -        mgr.setMaxConnectionsPerHost(10);
  -        assertEquals("MaxConnections", 10, mgr.getMaxConnectionsPerHost());
  -    }
  -
       /**
        * Test that the ConnectMethod correctly releases connections when
        * CONNECT fails.
  @@ -120,7 +110,8 @@
       public void testConnectMethodFailureRelease() {
           
           MultiThreadedHttpConnectionManager mgr = new 
MultiThreadedHttpConnectionManager();
  -        mgr.setMaxTotalConnections(1);
  +        mgr.getParams().setIntParameter(
  +            HttpConnectionManagerParams.MAX_TOTAL_CONNECTIONS, 1);
           HttpClient client = createHttpClient(mgr);
           
           // we're going to execute a connect method against the localhost, assuming
  @@ -226,7 +217,8 @@
       public void testReleaseConnection() {
   
           MultiThreadedHttpConnectionManager connectionManager = new 
MultiThreadedHttpConnectionManager();
  -        connectionManager.setMaxConnectionsPerHost(1);
  +        connectionManager.getParams().setIntParameter(
  +            HttpConnectionManagerParams.MAX_HOST_CONNECTIONS, 1);
   
           HttpClient client = createHttpClient(connectionManager);
           // we shouldn't have to wait if a connection is available
  @@ -275,7 +267,8 @@
       public void testResponseAutoRelease() {
   
           MultiThreadedHttpConnectionManager connectionManager = new 
MultiThreadedHttpConnectionManager();
  -        connectionManager.setMaxConnectionsPerHost(1);
  +        connectionManager.getParams().setIntParameter(
  +            HttpConnectionManagerParams.MAX_HOST_CONNECTIONS, 1);
   
           HttpClient client = createHttpClient(connectionManager);
           // we shouldn't have to wait if a connection is available
  @@ -312,8 +305,10 @@
       public void testConnectionReclaiming() {
           
           MultiThreadedHttpConnectionManager connectionManager = new 
MultiThreadedHttpConnectionManager();
  -        connectionManager.setMaxConnectionsPerHost(1);
  -        connectionManager.setMaxTotalConnections(1);
  +        connectionManager.getParams().setIntParameter(
  +            HttpConnectionManagerParams.MAX_HOST_CONNECTIONS, 1);
  +        connectionManager.getParams().setIntParameter(
  +            HttpConnectionManagerParams.MAX_TOTAL_CONNECTIONS, 1);
   
           HostConfiguration host1 = new HostConfiguration();
           host1.setHost("host1", -1, "http");
  @@ -342,8 +337,10 @@
       public void testMaxConnections() {
           
           MultiThreadedHttpConnectionManager connectionManager = new 
MultiThreadedHttpConnectionManager();
  -        connectionManager.setMaxConnectionsPerHost(1);
  -        connectionManager.setMaxTotalConnections(2);
  +        connectionManager.getParams().setIntParameter(
  +            HttpConnectionManagerParams.MAX_HOST_CONNECTIONS, 1);
  +        connectionManager.getParams().setIntParameter(
  +            HttpConnectionManagerParams.MAX_TOTAL_CONNECTIONS, 2);
   
           HostConfiguration host1 = new HostConfiguration();
           host1.setHost("host1", -1, "http");
  @@ -378,8 +375,10 @@
       public void testHostReusePreference() {
           
           final MultiThreadedHttpConnectionManager connectionManager = new 
MultiThreadedHttpConnectionManager();
  -        connectionManager.setMaxConnectionsPerHost(1);
  -        connectionManager.setMaxTotalConnections(1);
  +        connectionManager.getParams().setIntParameter(
  +            HttpConnectionManagerParams.MAX_HOST_CONNECTIONS, 1);
  +        connectionManager.getParams().setIntParameter(
  +            HttpConnectionManagerParams.MAX_TOTAL_CONNECTIONS, 1);
   
           final HostConfiguration host1 = new HostConfiguration();
           host1.setHost("host1", -1, "http");
  @@ -426,7 +425,8 @@
       public void testMaxConnectionsPerServer() {
        
           MultiThreadedHttpConnectionManager connectionManager = new 
MultiThreadedHttpConnectionManager();
  -        connectionManager.setMaxConnectionsPerHost(1);
  +        connectionManager.getParams().setIntParameter(
  +            HttpConnectionManagerParams.MAX_HOST_CONNECTIONS, 1);
   
           HttpClient client = createHttpClient(connectionManager);
           // we shouldn't have to wait if a connection is available
  @@ -458,7 +458,8 @@
       public void testReclaimUnusedConnection() {
   
           MultiThreadedHttpConnectionManager connectionManager = new 
MultiThreadedHttpConnectionManager();
  -        connectionManager.setMaxConnectionsPerHost(1);
  +        connectionManager.getParams().setIntParameter(
  +            HttpConnectionManagerParams.MAX_TOTAL_CONNECTIONS, 1);
   
           HttpClient client = createHttpClient(connectionManager);
           // we shouldn't have to wait if a connection is available
  @@ -520,7 +521,8 @@
   
       public void testTimeout() {
           MultiThreadedHttpConnectionManager mgr = new 
MultiThreadedHttpConnectionManager();
  -        mgr.setMaxConnectionsPerHost(2);
  +        mgr.getParams().setIntParameter(
  +            HttpConnectionManagerParams.MAX_HOST_CONNECTIONS, 2);
           
           try{
               HostConfiguration hostConfig = new HostConfiguration();
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to