Author: jochen
Date: Tue Jul 18 13:05:46 2006
New Revision: 423226
URL: http://svn.apache.org/viewvc?rev=423226&view=rev
Log:
Improved docs of WebServer and ServletWebServer classes.
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/server/src/main/java/org/apache/xmlrpc/webserver/XmlRpcServlet.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=423226&r1=423225&r2=423226&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
Tue Jul 18 13:05:46 2006
@@ -26,12 +26,35 @@
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
+import org.apache.xmlrpc.server.PropertyHandlerMapping;
import org.apache.xmlrpc.server.XmlRpcStreamServer;
import org.apache.xmlrpc.util.ThreadPool;
-/** A subclass of [EMAIL PROTECTED] WebServer}, which emulates a servlet
- * container. Mainly useful for debugging.
+/**
+ * <p>This is a subclass of the [EMAIL PROTECTED] WebServer}, which offers a
minimal
+ * servlet API. It is recommended to use this class, rather than the
+ * [EMAIL PROTECTED] WebServer}, because it offers you a smooth migration path
to
+ * a full blown servlet engine.</p>
+ * <p>Use of the [EMAIL PROTECTED] ServletWebServer} goes like this: First of
all,
+ * create a servlet. It may be an instance of [EMAIL PROTECTED] XmlRpcServlet}
or
+ * a subclass thereof. Note, that servlets are stateless: One servlet
+ * may be used by multiple threads (aka requests) concurrently. In
+ * other words, the servlet must not have any instance variables,
+ * other than those which are read only after the servlets
+ * initialization.</p>
+ * <p>The XmlRpcServlet is by default using a property file named
+ * <code>org/apache/xmlrpc/server/webserver/XmlRpcServlet.properties</code>.
+ * See the [EMAIL PROTECTED] PropertyHandlerMapping} for details on the
property
+ * file.</p>
+ * <pre>
+ * final int portNumber = 8088;
+ *
+ * ClassLoader cl = Thread.currentThread().getContextClassLoader();
+ * XmlRpcServlet servlet = new XmlRpcServlet();
+ * ServletWebServer webServer = new ServletWebServer(servlet, port);
+ * webServer.start();
+ * </pre>
*/
public class ServletWebServer extends WebServer {
/** This exception is thrown by the request handling classes,
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=423226&r1=423225&r2=423226&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
Tue Jul 18 13:05:46 2006
@@ -32,7 +32,45 @@
import org.apache.xmlrpc.util.ThreadPool;
-/** A minimal web server that exclusively handles XML-RPC requests.
+/**
+ * <p>The [EMAIL PROTECTED] WebServer} is a minimal HTTP server, that might be
used
+ * as an embedded web server.</p>
+ * <p>Use of the [EMAIL PROTECTED] WebServer} has grown very popular amongst
users
+ * of Apache XML-RPC. Why this is the case, can hardly be explained,
+ * because the [EMAIL PROTECTED] WebServer} is at best a workaround, compared
to
+ * full blown servlet engines like Tomcat or Jetty. For example, under
+ * heavy load it will almost definitely be slower than a real servlet
+ * engine, because it does neither support proper keepalive (multiple
+ * requests per physical connection) nor chunked mode (in other words,
+ * it cannot stream requests).</p>
+ * <p>If you still insist in using the [EMAIL PROTECTED] WebServer}, it is
+ * recommended to use its subclass, the [EMAIL PROTECTED] ServletWebServer}
instead,
+ * which offers a minimal subset of the servlet API. In other words,
+ * you keep yourself the option to migrate to a real servlet engine
+ * later.</p>
+ * <p>Use of the [EMAIL PROTECTED] WebServer} goes roughly like this: First of
all,
+ * create a property file (for example "MyHandlers.properties") and
+ * add it to your jar file. The property keys are handler names and
+ * the property values are the handler classes. Once that is done,
+ * create an instance of WebServer:
+ * <pre>
+ * final int portNumber = 8088;
+ * final String propertyFile = "MyHandler.properties";
+ *
+ * ClassLoader cl = Thread.currentThread().getContextClassLoader();
+ * URL url = cl.getResource(property);
+ * if (url == null) {
+ * throw new NullPointerException("No such resource: " + property);
+ * }
+ * PropertyHandlerMapping mapping = new PropertyHandlerMapping(cl,
+ * url, new TypeConverterFactoryImpl(), false);
+ * WebServer webServer = new WebServer(port);
+ * XmlRpcServerConfigImpl config = new XmlRpcServerConfigImpl();
+ * XmlRpcServer server = server.getXmlRpcServer();
+ * server.setConfig(config);
+ * server.setHandlerMapping(mapping);
+ * server.start();
+ * </pre>
*/
public class WebServer implements Runnable {
private static final Log log = LogFactory.getLog(WebServer.class);
Modified:
webservices/xmlrpc/trunk/server/src/main/java/org/apache/xmlrpc/webserver/XmlRpcServlet.java
URL:
http://svn.apache.org/viewvc/webservices/xmlrpc/trunk/server/src/main/java/org/apache/xmlrpc/webserver/XmlRpcServlet.java?rev=423226&r1=423225&r2=423226&view=diff
==============================================================================
---
webservices/xmlrpc/trunk/server/src/main/java/org/apache/xmlrpc/webserver/XmlRpcServlet.java
(original)
+++
webservices/xmlrpc/trunk/server/src/main/java/org/apache/xmlrpc/webserver/XmlRpcServlet.java
Tue Jul 18 13:05:46 2006
@@ -29,7 +29,6 @@
import org.apache.xmlrpc.server.PropertyHandlerMapping;
import org.apache.xmlrpc.server.XmlRpcHandlerMapping;
import org.apache.xmlrpc.server.XmlRpcServer;
-import org.apache.xmlrpc.server.XmlRpcServerConfig;
import org.apache.xmlrpc.server.XmlRpcServerConfigImpl;
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]