Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## com.ejie.r01f.servlet.serializer
Class SerializerServlet

    java.lang.Object
      javax.servlet.GenericServlet
          javax.servlet.http.HttpServlet
              com.ejie.r01f.servlet.serializer.SerializerServlet

All Implemented Interfaces:
  java.io.Serializable, javax.servlet.Servlet, javax.servlet.ServletConfig

public class SerializerServlet
extends javax.servlet.http.HttpServlet

Servlet que pone en una cola las llamadas que se le hacen y las ejecuta de forma serializada (una detrás de otra). La ventaja que tiene este servlet respecto a hacer el servlet singleThreaded es que en el modelo SingleThreaded, solo puede ser ejecutado por un cliente, bloqueandose los demás (bloqueandose el cliente), sin embargo, en el SerializerServlet el cliente NO SE BLOQUEA ya que hace la petición y esta se pone en cola, permitiendose un acceso al servlet por varios threads simultáneamente. CONFIGURACION ------------- El servlet se parametriza en el fichero de propiedades de la aplicación en la que se utiliza. Para saber desde que aplicación se está utilizando el servlet, hay que registrarlo en el fichero web.xml con un parametro appCode. Alternativamente, se puede pasar el código de aplicación como parámetro al servlet SerializerServlet Servlet de Serializacion de llamadas com.ejie.r01f.servlet.serializer.SerializerServlet appCode r01 Codigo de Aplicacion id (opcional) miSerializador Instancia del serializador En el fichero de configuración de la aplicción existirá una sección como: com.ejie.r01f.util.TestExecQueue 0 3 (el parámetro id es para permitir varios serializadores, y debe coincidir con el parámetro de inicio id del servlet) En esta sección se especifican: La clase ejecutora de las llamadas. Es una clase que extiende de AbstractExecQueue, implementando el metodo service() que se encarga de ejecutar el proceso que hay que realizar con cada objeto de la cola Por cada llamada al servlet, se introduce un objeto a procesar en la cola. Cuando la cola alcanza un límite, se lanza un thread secundario que se encarga de procesar cada objeto llamando al método service. El limite inferior de la cola. Cuando la cola llega a este limite, se dejan de procesar objetos El limite superior de la cola. Cuando la cola llega a este limite, se empiezan a procesar objetos hasta que se alcanza el limite inferior FORMA DE UTILIZACION -------------------- Esta clase es la base (es una clase abstracta) del servlet de serialización Basta con implementar el método getObjectToProcess que se encarga de obtener el objeto a procesar por la cola a partir de los parámetros de la request. Por lo tanto, simplemente habrá que crear una clase que extienda de AbstractSerializerServlet y que implemente dicho metodo: public class SerializerTestServlet extends AbstractSerializerServlet { public Object getObjectToProcess(Request req) { // Obtiene el objeto a procesar a partir de la request String obj = request.getParameter("txt"); return obj; } }

See Also:
  Serialized Form

Constructor Summary
`SerializerServlet()`

Method Summary
`void` | `destroy()` Method destroy.
`void` | `doGet(javax.servlet.http.HttpServletRequest req, javax.servlet.http.HttpServletResponse resp)`
`void` | `doPost(javax.servlet.http.HttpServletRequest req, javax.servlet.http.HttpServletResponse resp)`
`java.lang.String` | `getServletInfo()` Method getServletInfo.
`void` | `init()` Method init.

Methods inherited from class javax.servlet.http.HttpServlet
`service`

Methods inherited from class javax.servlet.GenericServlet
`getInitParameter, getInitParameterNames, getServletConfig, getServletContext, getServletName, init, log, log`

Methods inherited from class java.lang.Object
`equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### SerializerServlet

    public SerializerServlet()

Method Detail

### init

    public void init()

  Method init.

### destroy

    public void destroy()

  Method destroy.

### doGet

    public void doGet(javax.servlet.http.HttpServletRequest req,
                      javax.servlet.http.HttpServletResponse resp)

  See Also:
    `(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)`

### doPost

    public void doPost(javax.servlet.http.HttpServletRequest req,
                       javax.servlet.http.HttpServletResponse resp)

  See Also:
    `(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)`

### getServletInfo

    public java.lang.String getServletInfo()

  Method getServletInfo.

  Returns:
    java.lang.String

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD