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

svn commit: r436953 - in /webservices/xmlrpc/trunk: server/src/main/java/org/apache/xmlrpc/webserver/ src/changes/ src/site/apt/ tests/src/test/java/org/apache/xmlrpc/test/

Author: jochen
Date: Fri Aug 25 14:09:58 2006
New Revision: 436953

URL: http://svn.apache.org/viewvc?rev=436953&view=rev
Log:
More documentation fixes.
Submitted-by: Catalin Hritcu, catalin.hritcu@gmail.com
PR: XMLRPC-108

Modified:
    webservices/xmlrpc/trunk/server/src/main/java/org/apache/xmlrpc/webserver/ServletWebServer.java
    webservices/xmlrpc/trunk/server/src/main/java/org/apache/xmlrpc/webserver/WebServer.java
    webservices/xmlrpc/trunk/src/changes/changes.xml
    webservices/xmlrpc/trunk/src/site/apt/client.apt
    webservices/xmlrpc/trunk/src/site/apt/server.apt
    webservices/xmlrpc/trunk/tests/src/test/java/org/apache/xmlrpc/test/ScalabilityTest.java

Modified: webservices/xmlrpc/trunk/server/src/main/java/org/apache/xmlrpc/webserver/ServletWebServer.java
URL: http://svn.apache.org/viewvc/webservices/xmlrpc/trunk/server/src/main/java/org/apache/xmlrpc/webserver/ServletWebServer.java?rev=436953&r1=436952&r2=436953&view=diff
==============================================================================
--- webservices/xmlrpc/trunk/server/src/main/java/org/apache/xmlrpc/webserver/ServletWebServer.java (original)
+++ webservices/xmlrpc/trunk/server/src/main/java/org/apache/xmlrpc/webserver/ServletWebServer.java Fri Aug 25 14:09:58 2006
@@ -48,9 +48,8 @@
  * See the {@link PropertyHandlerMapping} for details on the property
  * file.</p>
  * <pre>
- *   final int portNumber = 8088;
+ *   final int port = 8088;
  *
- *   ClassLoader cl = Thread.currentThread().getContextClassLoader();
  *   XmlRpcServlet servlet = new XmlRpcServlet();
  *   ServletWebServer webServer = new ServletWebServer(servlet, port);
  *   webServer.start();

Modified: webservices/xmlrpc/trunk/server/src/main/java/org/apache/xmlrpc/webserver/WebServer.java
URL: http://svn.apache.org/viewvc/webservices/xmlrpc/trunk/server/src/main/java/org/apache/xmlrpc/webserver/WebServer.java?rev=436953&r1=436952&r2=436953&view=diff
==============================================================================
--- webservices/xmlrpc/trunk/server/src/main/java/org/apache/xmlrpc/webserver/WebServer.java (original)
+++ webservices/xmlrpc/trunk/server/src/main/java/org/apache/xmlrpc/webserver/WebServer.java Fri Aug 25 14:09:58 2006
@@ -54,7 +54,7 @@
  * the property values are the handler classes. Once that is done,
  * create an instance of WebServer:
  * <pre>
- *   final int portNumber = 8088;
+ *   final int port = 8088;
  *   final String propertyFile = "MyHandler.properties";
  *
  *   PropertyHandlerMapping mapping = new PropertyHandlerMapping();
@@ -62,10 +62,10 @@
  *   mapping.load(cl, propertyFile);
  *   WebServer webServer = new WebServer(port);
  *   XmlRpcServerConfigImpl config = new XmlRpcServerConfigImpl();
- *   XmlRpcServer server = server.getXmlRpcServer();
+ *   XmlRpcServer server = webServer.getXmlRpcServer();
  *   server.setConfig(config);
  *   server.setHandlerMapping(mapping);
- *   server.start();
+ *   webServer.start();
  * </pre>
  */
 public class WebServer implements Runnable {

Modified: webservices/xmlrpc/trunk/src/changes/changes.xml
URL: http://svn.apache.org/viewvc/webservices/xmlrpc/trunk/src/changes/changes.xml?rev=436953&r1=436952&r2=436953&view=diff
==============================================================================
--- webservices/xmlrpc/trunk/src/changes/changes.xml (original)
+++ webservices/xmlrpc/trunk/src/changes/changes.xml Fri Aug 25 14:09:58 2006
@@ -57,6 +57,10 @@
         in a protected methods. This allows to switch to
         alternative socket implementations.
       </action>
+      <action dev="jochen" type="fix" due-to="Catalin Hritcu"
+          due-to-email="Catalin.Hritcu@gmail.com" issue="XMLRPC-108">
+        More documentation fixes.
+      </action>
     </release>
     <release version="3.0rc1" date="27-Jul-2006">
       <action dev="jochen" type="fix" due-to="Alan Burlison"

Modified: webservices/xmlrpc/trunk/src/site/apt/client.apt
URL: http://svn.apache.org/viewvc/webservices/xmlrpc/trunk/src/site/apt/client.apt?rev=436953&r1=436952&r2=436953&view=diff
==============================================================================
--- webservices/xmlrpc/trunk/src/site/apt/client.apt (original)
+++ webservices/xmlrpc/trunk/src/site/apt/client.apt Fri Aug 25 14:09:58 2006
@@ -66,7 +66,7 @@
     XmlRpcClientConfigImpl config = new XmlRpcClientConfigImpl();
     config.setServerURL(new URL("http://127.0.0.1:8080/XmlRpcServlet"));
     XmlRpcClient client = new XmlRpcClient();
-    client.setTransportFactory(new XmlRpcCommonsTransportFactory());
+    client.setTransportFactory(new XmlRpcCommonsTransportFactory(client));
     client.setConfig(config);
     Object[] params = new Object[]{new Integer(2), new Integer(3)};
     Integer result = (Integer) client.execute("Calculator.add", params);

Modified: webservices/xmlrpc/trunk/src/site/apt/server.apt
URL: http://svn.apache.org/viewvc/webservices/xmlrpc/trunk/src/site/apt/server.apt?rev=436953&r1=436952&r2=436953&view=diff
==============================================================================
--- webservices/xmlrpc/trunk/src/site/apt/server.apt (original)
+++ webservices/xmlrpc/trunk/src/site/apt/server.apt Fri Aug 25 14:09:58 2006
@@ -132,15 +132,15 @@
   {{{apidocs/org/apache/xmlrpc/server/PropertyHandlerMapping.html}PropertyHandlerMapping}}.
 
 -----------------------------------------------------------------------------------
-  public class MyServlet extends PropertyHandlerMapping {
+  public class MyServlet extends XmlRpcServlet {
   	  private boolean isAuthenticated(String pUserName, String pPassword) {
   	      return "foo".equals(pUserName) && "bar".equals(pPassword);
   	  }
 	  protected XmlRpcHandlerMapping newXmlRpcHandlerMapping() throws XmlRpcException {
 	      PropertyHandlerMapping mapping
 	          = (PropertyHandlerMapping) super.newXmlRpcHandlerMapping();
-	      PropertyHandlerMapping.AuthenticationHandler handler =
-	          new PropertyHandlerMapping.AuthenticationHandler(){
+	      AbstractReflectiveHandlerMapping.AuthenticationHandler handler =
+	          new AbstractReflectiveHandlerMapping.AuthenticationHandler(){
 		          public boolean isAuthorized(XmlRpcRequest pRequest){
 		              XmlRpcHttpRequestConfig config =
 		                  (XmlRpcHttpRequestConfig) pRequest.getConfig();

Modified: webservices/xmlrpc/trunk/tests/src/test/java/org/apache/xmlrpc/test/ScalabilityTest.java
URL: http://svn.apache.org/viewvc/webservices/xmlrpc/trunk/tests/src/test/java/org/apache/xmlrpc/test/ScalabilityTest.java?rev=436953&r1=436952&r2=436953&view=diff
==============================================================================
--- webservices/xmlrpc/trunk/tests/src/test/java/org/apache/xmlrpc/test/ScalabilityTest.java (original)
+++ webservices/xmlrpc/trunk/tests/src/test/java/org/apache/xmlrpc/test/ScalabilityTest.java Fri Aug 25 14:09:58 2006
@@ -27,6 +27,7 @@
 import org.apache.xmlrpc.server.XmlRpcHandlerMapping;
 import org.apache.xmlrpc.util.ThreadPool;
 import org.apache.xmlrpc.webserver.ServletWebServer;
+import org.apache.xmlrpc.webserver.WebServer;
 import org.apache.xmlrpc.webserver.XmlRpcServlet;
 
 import junit.framework.TestCase;
@@ -56,7 +57,6 @@
         }
         public ThreadPool newThreadPool(){
             pool = new ThreadPool(server.getMaxThreads(), "XML-RPC"){
-                
             };
             return pool;
         }
@@ -65,21 +65,42 @@
         }
     }
 
+    private class MyWebServer extends WebServer {
+        protected ThreadPool pool;
+        MyWebServer(int pPort) {
+            super(pPort);
+        }
+        public ThreadPool newThreadPool(){
+            pool = new ThreadPool(server.getMaxThreads(), "XML-RPC"){
+            };
+            return pool;
+        }
+        int getNumThreads() {
+            return pool.getNumThreads();
+        }
+    }
+    
     private static final int BASE = 1;
     private static final Integer THREE = new Integer(3);
     private static final Integer FIVE = new Integer(5);
     private static final Integer EIGHT = new Integer(8);
     private XmlRpcServlet servlet;
     private MyServletWebServer server;
+    private MyWebServer webServer;
 
-    protected void setUp() throws Exception {
+    private XmlRpcHandlerMapping newXmlRpcHandlerMapping() throws XmlRpcException {
+        PropertyHandlerMapping mapping = new PropertyHandlerMapping();
+        mapping.addHandler("Adder", Adder.class);
+        return mapping;
+    }
+
+    private void initServletWebServer() throws Exception {
         servlet = new XmlRpcServlet(){
             private static final long serialVersionUID = -2040521497373327817L;
             protected XmlRpcHandlerMapping newXmlRpcHandlerMapping()
                     throws XmlRpcException {
-                PropertyHandlerMapping mapping = new PropertyHandlerMapping();
-                mapping.addHandler("Adder", Adder.class);
-                return mapping;
+                return ScalabilityTest.this.newXmlRpcHandlerMapping();
+
             }
             
         };
@@ -88,18 +109,55 @@
         server.start();
     }
 
-    protected void tearDown() {
+    private void shutdownServletWebServer() {
         server.shutdown();
     }
 
+    private void initWebServer() throws Exception {
+        webServer = new MyWebServer(0);
+        webServer.getXmlRpcServer().setHandlerMapping(newXmlRpcHandlerMapping());
+        webServer.getXmlRpcServer().setMaxThreads(25);
+        webServer.start();
+    }
+
+    private void shutdownWebServer() {
+        webServer.shutdown();
+    }
+
     /**
      * Runs the test with a single client.
      */
     public void testSingleClient() throws Exception {
-        long now = System.currentTimeMillis();
-        servlet.getXmlRpcServletServer().setMaxThreads(1);
-        new Client(100*BASE, server.getPort()).run();
-        System.out.println("Single client: " + (System.currentTimeMillis()-now) + ", " + server.getNumThreads());
+        initServletWebServer();
+        boolean ok = false;
+        try {
+            long now = System.currentTimeMillis();
+            servlet.getXmlRpcServletServer().setMaxThreads(1);
+            new Client(100*BASE, server.getPort()).run();
+            System.out.println("Single client: " + (System.currentTimeMillis()-now) + ", " + server.getNumThreads());
+            shutdownServletWebServer();
+            ok = true;
+        } finally {
+            if (!ok) { try { shutdownServletWebServer(); } catch (Throwable t) {} }
+        }
+    }
+
+    /**
+     * Runs the web server test with a single client.
+     */
+    public void testSingleWebServerClient() throws Exception {
+        initWebServer();
+        boolean ok = false;
+        try {
+            long now = System.currentTimeMillis();
+            servlet.getXmlRpcServletServer().setMaxThreads(1);
+            new Client(100*BASE, webServer.getPort()).run();
+            System.out.println("Single client: " + (System.currentTimeMillis()-now) + ", " + webServer.getNumThreads());
+            shutdownWebServer();
+            ok = true;
+        } finally {
+            if (!ok) { try { shutdownWebServer(); } catch (Throwable t) {} }
+        }
     }
 
     private static class Client implements Runnable {
@@ -128,16 +186,24 @@
      * Runs the test with ten clients.
      */
     public void testTenClient() throws Exception {
-        final Thread[] threads = new Thread[10];
-        servlet.getXmlRpcServletServer().setMaxThreads(10);
-        long now = System.currentTimeMillis();
-        for (int i = 0;  i < threads.length;  i++) {
-            threads[i] = new Thread(new Client(10*BASE, server.getPort()));
-            threads[i].start();
-        }
-        for (int i = 0;  i < threads.length;  i++) {
-            threads[i].join();
+        initServletWebServer();
+        boolean ok = false;
+        try {
+            final Thread[] threads = new Thread[10];
+            servlet.getXmlRpcServletServer().setMaxThreads(10);
+            long now = System.currentTimeMillis();
+            for (int i = 0;  i < threads.length;  i++) {
+                threads[i] = new Thread(new Client(10*BASE, server.getPort()));
+                threads[i].start();
+            }
+            for (int i = 0;  i < threads.length;  i++) {
+                threads[i].join();
+            }
+            System.out.println("Ten clients: " + (System.currentTimeMillis() - now) + ", " + server.getNumThreads());
+            shutdownServletWebServer();
+            ok = false;
+        } finally {
+            if (!ok) { try { shutdownServletWebServer(); } catch (Throwable t) {} }
         }
-        System.out.println("Ten clients: " + (System.currentTimeMillis() - now) + ", " + server.getNumThreads());
     }
 }