com.oreilly.servlet
Class RemoteHttpServlet

java.lang.Object
  extended by javax.servlet.GenericServlet
      extended by javax.servlet.http.HttpServlet
          extended by com.oreilly.servlet.RemoteHttpServlet
All Implemented Interfaces:
java.io.Serializable, java.rmi.Remote, javax.servlet.Servlet, javax.servlet.ServletConfig

public abstract class RemoteHttpServlet
extends javax.servlet.http.HttpServlet
implements java.rmi.Remote

A superclass for any HTTP servlet that wishes to act as an RMI server. RemoteHttpServlet begins listening for RMI calls in its init() method and stops listening in its destroy() method. To register itself it uses the registry on the local machine on the port determined by getRegistryPort(). It registers under the name determined by getRegistryName().

Version:
1.0, 98/09/18
Author:
Jason Hunter, Copyright © 1998
See Also:
RemoteDaemonHttpServlet, Serialized Form

Field Summary
protected  java.rmi.registry.Registry registry
          The registry for the servlet
 
Constructor Summary
RemoteHttpServlet()
           
 
Method Summary
protected  void bind()
          Binds the servlet to the registry.
 void destroy()
          Halts the servlet's RMI operations.
protected  java.lang.String getRegistryName()
          Returns the name under which the servlet should be bound in the registry.
protected  int getRegistryPort()
          Returns the port where the registry should be running.
 void init(javax.servlet.ServletConfig config)
          Begins the servlet's RMI operations.
protected  void unbind()
          Unbinds the servlet from the registry.
 
Methods inherited from class javax.servlet.http.HttpServlet
doDelete, doGet, doHead, doOptions, doPost, doPut, doTrace, getLastModified, service, service
 
Methods inherited from class javax.servlet.GenericServlet
getInitParameter, getInitParameterNames, getServletConfig, getServletContext, getServletInfo, getServletName, init, log, log
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

registry

protected java.rmi.registry.Registry registry
The registry for the servlet

Constructor Detail

RemoteHttpServlet

public RemoteHttpServlet()
Method Detail

init

public void init(javax.servlet.ServletConfig config)
          throws javax.servlet.ServletException
Begins the servlet's RMI operations. Causes the servlet to export itself and then bind itself to the registry. Logs any errors. Subclasses that override this method must be sure to first call super.init(config).

Specified by:
init in interface javax.servlet.Servlet
Overrides:
init in class javax.servlet.GenericServlet
Parameters:
config - the servlet config
Throws:
javax.servlet.ServletException - if a servlet exception occurs

destroy

public void destroy()
Halts the servlet's RMI operations. Causes the servlet to unbind itself from the registry. Logs any errors. Subclasses that override this method must be sure to first call super.destroy().

Specified by:
destroy in interface javax.servlet.Servlet
Overrides:
destroy in class javax.servlet.GenericServlet

getRegistryName

protected java.lang.String getRegistryName()
Returns the name under which the servlet should be bound in the registry. By default the name is the servlet's class name. This can be overridden with the registryName init parameter.

Returns:
the name under which the servlet should be bound in the registry

getRegistryPort

protected int getRegistryPort()
Returns the port where the registry should be running. By default the port is the default registry port (1099). This can be overridden with the registryPort init parameter.

Returns:
the port for the registry

bind

protected void bind()
Binds the servlet to the registry. Creates the registry if necessary. Logs any errors.


unbind

protected void unbind()
Unbinds the servlet from the registry. Logs any errors.