quinta-feira, 17 de dezembro de 2009

Lookup de um EJB

A seguinte classe é um exemplo básico de como fazer um lookup em um EJB.

O servidor utilizado foi o JBoss, versão 4.0.

É importante que o EJB possua uma interface remota para que o lookup funcione.

import javax.naming.InitialContext;

import br.com.ebiz.funasawf.entity.Usuario;
import br.com.ebiz.funasawf.service.cadastro.UsuarioLocal;

public class LookupEJB {
  public static void main(String[] args) {
    Hashtable environment = new Hashtable();
    environment.put("java.naming.factory.initial","org.jnp.interfaces.NamingContextFactory");
    environment.put("java.naming.factory.url.pkgs","org.jboss.naming:org.jnp.interfaces");
    environment.put("java.naming.provider.url", "localhost:1099");
    // remote machine IP
    InitialContext context;
    try {
      context = new InitialContext(environment);
      UsuarioLocal pl = (UsuarioLocal) context.lookup("funasawf/UsuarioWFBean/remote");
      Usuario user = pl.findById(39L);
      System.out.println(user.getNmeLogin());
    } catch (Exception e) {}
  }
}

Esse tipo de código é bastante útil para realizar testes na aplicação.

Para poder realizar os testes, você vai precisar das bibliotecas do JBoss: server e client. Além disso, você vai precisar referenciar as classes da sua aplicação, EntityBeans e SessionBeans, como no exemplo, Usuario e UsuarioLocal.

Nenhum comentário: