com.oreilly.servlet
Class RemoteDaemonHttpServlet

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

public abstract class RemoteDaemonHttpServlet
extends DaemonHttpServlet
implements java.rmi.Remote

A superclass for any HTTP servlet that wishes to act as an RMI server and, additionally, accept raw socket connections. Includes the functionality from both RemoteHttpServlet and DaemonHttpServlet, by extending DaemonHttpServlet and re-implementing RemoteHttpServlet.

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

Field Summary
protected  java.rmi.registry.Registry registry
          The registry for the servlet
 
Fields inherited from class com.oreilly.servlet.DaemonHttpServlet
DEFAULT_PORT
 
Constructor Summary
RemoteDaemonHttpServlet()
           
 
Method Summary
protected  void bind()
          Binds the servlet to the registry.
 void destroy()
          Halts the servlet's RMI operations and halts the thread listening for socket connections.
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 and begins a thread listening for socket connections.
protected  void unbind()
          Unbinds the servlet from the registry.
 
Methods inherited from class com.oreilly.servlet.DaemonHttpServlet
getSocketPort, handleClient
 
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

RemoteDaemonHttpServlet

public RemoteDaemonHttpServlet()
Method Detail

init

public void init(javax.servlet.ServletConfig config)
          throws javax.servlet.ServletException
Begins the servlet's RMI operations and begins a thread listening for socket connections. 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 DaemonHttpServlet
Parameters:
config - the servlet config
Throws:
javax.servlet.ServletException - if a servlet exception occurs

destroy

public void destroy()
Halts the servlet's RMI operations and halts the thread listening for socket connections. 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 DaemonHttpServlet

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.