Ing. Pablo Almeida Haro Msc.

EJB STATEFULL Y STATELESS

CREACION DEL PROYECTO

*Seleccionar file/new Project/Java ee/enterprise application

 

*Ingresar nombre de proyecto y ubicación

*Dejar por defecto los siguientes datos:

CREACION DEL SESSION BEAN STATELESS

*Click derecho sobre el proyecto ejb/new/session bean.

*Ingresar nombre del ejb, paquete, tipo e interfase

*Click derecho sobre la clase generada/add business method

*La clase debe quedar como sigue a continuación

package pkg_stateless;

 

import javax.ejb.Stateless;

 

@Stateless

public class ejb_stateless implements ejb_statelessLocal {

    int cont=0;

    public int incrementar()   

    {   cont++;

        return cont;

    }   

}

CREACION DEL SESSION BEAN STATEFUL

*Click derecho sobre el proyecto ejb/new/session bean.

*Ingresar nombre del ejb, paquete, tipo e interfase

*Click derecho sobre la clase generada/add business method

*La clase debe quedar como sigue a continuación.

package pkg_stateful;

 

import javax.ejb.Stateful;

 

@Stateful

public class ejb_stateful implements ejb_statefulLocal {

        int cont=0;

    public int incrementar()   

    {   cont++;

        return cont;

    }

}

 

CREACION DEL SERVLET CLIENTE

*Click derecho sobre el proyecto web/new servlet

 

*El código debe quedar como sigue a continuación

package pkg_servlet;

 

import java.io.IOException;

import java.io.PrintWriter;

import java.util.logging.Level;

import java.util.logging.Logger;

import javax.ejb.EJB;

import javax.naming.Context;

import javax.naming.InitialContext;

import javax.naming.NamingException;

import javax.servlet.ServletException;

import javax.servlet.annotation.WebServlet;

import javax.servlet.http.HttpServlet;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;

import pkg_stateful.ejb_statefulLocal;

import pkg_stateless.ejb_statelessLocal;

 

@WebServlet(name = "servlet_session", urlPatterns = {"/servlet_session"})

public class servlet_session extends HttpServlet {

    @EJB

    ejb_statelessLocal ejb_stateless;

    @EJB

    ejb_statelessLocal ejb_stateless1;

    @EJB

    ejb_statefulLocal ejb_stateful;

    @EJB

    ejb_statefulLocal ejb_stateful1;

 

    protected void processRequest(HttpServletRequest request, HttpServletResponse response)

            throws ServletException, IOException {

        response.setContentType("text/html;charset=UTF-8");

        PrintWriter out = response.getWriter();

        try {

            out.println("<html>");

            out.println("<body>");

 

            out.println("<h1>STATELESS SESSION 1</h1>");

            out.println(ejb_stateless.incrementar());

            out.println(ejb_stateless.incrementar());

            out.println(ejb_stateless.incrementar());

            out.println("<h1>STATELESS SESSION 2</h1>");

            out.println(ejb_stateless1.incrementar());

            out.println(ejb_stateless1.incrementar());

            out.println(ejb_stateless1.incrementar());

 

            out.println("<h1>STATEFUL SESSION 1</h1>");

            out.println(ejb_stateful.incrementar());

            out.println(ejb_stateful.incrementar());

            out.println(ejb_stateful.incrementar());

            out.println("<h1>STATEFUL SESSION 2</h1>");

            out.println(ejb_stateful1.incrementar());

            out.println(ejb_stateful1.incrementar());

            out.println(ejb_stateful1.incrementar());

           

            out.println("</body>");

            out.println("</html>");

 

       

        } finally {           

            out.close();

        }

    }

 

    @Override

    protected void doGet(HttpServletRequest request, HttpServletResponse response)

            throws ServletException, IOException {

        processRequest(request, response);

    }

 

    @Override

    protected void doPost(HttpServletRequest request, HttpServletResponse response)

            throws ServletException, IOException {

        processRequest(request, response);

    }

 

    @Override

    public String getServletInfo() {

        return "Short description";

    }// </editor-fold>

}

*Modificar la ruta de arranque. Colocar click derecho sobre el proyecto  pjr_entreprise/propiedades. Incluir /servlet_session en el campo relative url

 

CORRER LA APLICACIÓN

 

*Click derecho sobre el proyecto prj_entreprise y run