Recent comments

EJB de Sesion Local (Parte 2)


El objetivo es crear una interfaz local en el EJB ya que los componentes web se encontraran en el mismo servidor de esta forma evitaremos llamadas remotas innecesarias.


Como cambios relevantes al proyecto posteado anteriormente se Crea la Interfaz PersonaService, Se implementa esta interfaz de la Clase de implementacion de persona Service y Finalmente se crea la clase de prueba de dicha interfaz local
Esta prueba tiene que estar desarrollada en la carpeta de test (Junit) .
Como punto relevantes recordemos las anotaciones @Remote y @Local de las interfaces.

Estrutura:



----------------------------------------
Clases relevantes:
PersonaService @Local

package mx.com.gm.sga.servicio;

import java.util.List;
import javax.ejb.Local;
import mx.com.gm.sga.domain.Persona;

@Local
public interface PersonaService {

    public List<Persona> listarPersonas();

    public Persona encontrarPersonaPorId(Persona persona);

    public Persona encontrarPersonaPorEmail(Persona persona);

    public void registrarPersona(Persona persona);

    public void modificarPersona(Persona persona);

    public void eliminarPersona(Persona persona);
}


----------------------------------------
Clases relevantes:
PersonaServiceTest 

package test;

import static org.junit.Assert.*;
import java.util.List;
import javax.ejb.embeddable.EJBContainer;
import mx.com.gm.sga.domain.Persona;
import mx.com.gm.sga.servicio.PersonaService;
import org.junit.Before;
import org.junit.Test;

public class PersonaServiceTest {

    private PersonaService personaService;

    @Before
    public void setUp() throws Exception {
        EJBContainer contenedor = EJBContainer.createEJBContainer();
        personaService = (PersonaService) contenedor.getContext().lookup("java:global/classes/PersonaServiceImpl!mx.com.gm.sga.servicio.PersonaService");
    }

    @Test
    public void testEJBPersonaService() {
        System.out.println("Iniciando test EJB PersonaService");
        assertTrue(personaService != null);

        assertEquals(2, personaService.listarPersonas().size());

        System.out.println("El no. de personas es igual a:" + personaService.listarPersonas().size());

        this.desplegarPersonas(personaService.listarPersonas());
        System.out.println("Fin test EJB PersonaService");
    }

    private void desplegarPersonas(List<Persona> personas) {
        for (Persona persona : personas) {
            System.out.println(persona);
        }
    }
}


No hay comentarios.