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