org.apache.jcs.auxiliary.remote.http.server
Class RemoteHttpCacheServlet

java.lang.Object
  extended by javax.servlet.GenericServlet
      extended by javax.servlet.http.HttpServlet
          extended by org.apache.jcs.auxiliary.remote.http.server.RemoteHttpCacheServlet
All Implemented Interfaces:
Serializable, Servlet, ServletConfig

public class RemoteHttpCacheServlet
extends HttpServlet

This servlet simply reads and writes objects. The requests are packaged in a general wrapper. The processor works on the wrapper object and returns a response wrapper.

See Also:
Serialized Form

Constructor Summary
RemoteHttpCacheServlet()
           
 
Method Summary
 void destroy()
          Release the cache manager.
protected  void ensureCacheManager()
          Make sure we have a cache manager.
 RemoteCacheServiceAdaptor<Serializable,Serializable> getRemoteHttpCacheServiceAdaptor()
           
 String getServletInfo()
          Get servlet information
 void init(ServletConfig config)
          Initializes the cache.
protected  RemoteCacheRequest<Serializable,Serializable> readRequest(HttpServletRequest request)
          Read the request from the input stream.
protected  RemoteCacheRequest<Serializable,Serializable> readRequestFromStream(InputStream inputStream)
          Reads the response from the stream and then closes it.
 void service(HttpServletRequest request, HttpServletResponse response)
          Read the request, call the processor, write the response.
 void setRemoteHttpCacheServiceAdaptor(RemoteCacheServiceAdaptor<Serializable,Serializable> remoteHttpCacheProcessor)
           
protected  void writeResponse(HttpServletResponse response, RemoteCacheResponse<Serializable> cacheResponse)
          Write the response to the output stream.
 
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, getServletName, init, log, log
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

RemoteHttpCacheServlet

public RemoteHttpCacheServlet()
Method Detail

init

public void init(ServletConfig config)
          throws ServletException
Initializes the cache.

This provides an easy extension point. Simply extend this servlet and override the init method to change the way the properties are loaded.

Specified by:
init in interface Servlet
Overrides:
init in class GenericServlet
Parameters:
config -
Throws:
ServletException

service

public void service(HttpServletRequest request,
                    HttpServletResponse response)
             throws ServletException,
                    IOException
Read the request, call the processor, write the response.

Overrides:
service in class HttpServlet
Parameters:
request -
response -
Throws:
ServletException
IOException

readRequest

protected RemoteCacheRequest<Serializable,Serializable> readRequest(HttpServletRequest request)
Read the request from the input stream.

Parameters:
request -
Returns:
RemoteHttpCacheRequest

readRequestFromStream

protected RemoteCacheRequest<Serializable,Serializable> readRequestFromStream(InputStream inputStream)
                                                                       throws IOException,
                                                                              ClassNotFoundException
Reads the response from the stream and then closes it.

Parameters:
inputStream -
Returns:
RemoteHttpCacheRequest
Throws:
IOException
ClassNotFoundException

writeResponse

protected void writeResponse(HttpServletResponse response,
                             RemoteCacheResponse<Serializable> cacheResponse)
Write the response to the output stream.

Parameters:
response -
cacheResponse -

ensureCacheManager

protected void ensureCacheManager()
                           throws CacheException
Make sure we have a cache manager. This should have happened in the init method.

Throws:
CacheException - if the configuration cannot be loaded

destroy

public void destroy()
Release the cache manager.

Specified by:
destroy in interface Servlet
Overrides:
destroy in class GenericServlet

getServletInfo

public String getServletInfo()
Get servlet information

Specified by:
getServletInfo in interface Servlet
Overrides:
getServletInfo in class GenericServlet
Returns:
basic info

setRemoteHttpCacheServiceAdaptor

public void setRemoteHttpCacheServiceAdaptor(RemoteCacheServiceAdaptor<Serializable,Serializable> remoteHttpCacheProcessor)
Parameters:
remoteHttpCacheProcessor - the remoteHttpCacheProcessor to set

getRemoteHttpCacheServiceAdaptor

public RemoteCacheServiceAdaptor<Serializable,Serializable> getRemoteHttpCacheServiceAdaptor()
Returns:
the remoteHttpCacheProcessor


Copyright © 2002-2013 The Apache Software Foundation. All Rights Reserved.