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