org.apache.axis.transport.http
Class AxisServletBase

java.lang.Object
  |
  +--javax.servlet.GenericServlet
        |
        +--javax.servlet.http.HttpServlet
              |
              +--org.apache.axis.transport.http.AxisServletBase
All Implemented Interfaces:
java.io.Serializable, javax.servlet.Servlet, javax.servlet.ServletConfig

public class AxisServletBase
extends javax.servlet.http.HttpServlet

Base class for servlets used in axis, has common methods to get and save the engine to a common location, currently the webapp's context, though some alternate persistence mechanism is always possible. Also has a load counter shared by all servlets; tracks the # of active http requests open to any of the subclasses.

Author:
Steve Loughran
See Also:
Serialized Form

Field Summary
protected static java.lang.String ATTR_AXIS_ENGINE
          name of the axis engine to use in the servlet context
protected  AxisServer axisServer
          per-instance cache of the axis server
 
Constructor Summary
AxisServletBase()
           
 
Method Summary
protected static void decLockCounter()
          thread safe lock counter decrement
 void destroy()
          Destroy method is called when the servlet is going away.
 AxisServer getEngine()
          get the engine for this servlet from cache or context
static AxisServer getEngine(javax.servlet.http.HttpServlet servlet)
          This is a uniform method of initializing AxisServer in a servlet context.
static int getLoadCounter()
          get a count of the # of services running.
protected static void incLockCounter()
          thread safe lock counter increment
 void init()
          our initialize routine; subclasses should call this if they override it
protected  void service(javax.servlet.http.HttpServletRequest req, javax.servlet.http.HttpServletResponse resp)
          subclass of service method that tracks entry count; calls the parent's implementation to have the http method cracked and delegated to the doGet, doPost method.
 
Methods inherited from class javax.servlet.http.HttpServlet
doDelete, doGet, doHead, doOptions, doPost, doPut, doTrace, getLastModified, 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

axisServer

protected AxisServer axisServer
per-instance cache of the axis server

ATTR_AXIS_ENGINE

protected static final java.lang.String ATTR_AXIS_ENGINE
name of the axis engine to use in the servlet context
Constructor Detail

AxisServletBase

public AxisServletBase()
Method Detail

init

public void init()
our initialize routine; subclasses should call this if they override it
Overrides:
init in class javax.servlet.GenericServlet

destroy

public void destroy()
Destroy method is called when the servlet is going away. Pass this down to the AxisEngine to let it clean up... But don't create the engine if it hasn't already been created.
Overrides:
destroy in class javax.servlet.GenericServlet

getEngine

public AxisServer getEngine()
                     throws AxisFault
get the engine for this servlet from cache or context
Returns:
 
Throws:
AxisFault -  

getEngine

public static AxisServer getEngine(javax.servlet.http.HttpServlet servlet)
                            throws AxisFault
This is a uniform method of initializing AxisServer in a servlet context.

getLoadCounter

public static int getLoadCounter()
get a count of the # of services running. This is only ever an approximate number in a busy system
Returns:
The TotalServiceCount value

incLockCounter

protected static void incLockCounter()
thread safe lock counter increment

decLockCounter

protected static void decLockCounter()
thread safe lock counter decrement

service

protected void service(javax.servlet.http.HttpServletRequest req,
                       javax.servlet.http.HttpServletResponse resp)
                throws javax.servlet.ServletException,
                       java.io.IOException
subclass of service method that tracks entry count; calls the parent's implementation to have the http method cracked and delegated to the doGet, doPost method.
Overrides:
service in class javax.servlet.http.HttpServlet
Parameters:
req - request
resp - response
Throws:
javax.servlet.ServletException - something went wrong
java.io.IOException - something different went wrong


Copyright © 2002 Apache XML Project. All Rights Reserved.