Integração EJB + JSF (Sem frameworks adicionais)

5 respostas
JM4X

Galera.

Utilizo netbeans e glassfish.

Como eu faria para de dentro de um “Projeto Web” utilizar recursos de um outro projeto “Módulo EJB”???

Sendo eles projetos separados, porém seriam implantados no mesmo Application Server.

Usando lookup? Injeção de dependencia?

Poderiam me dar um exemplo?

Grato!

5 Respostas

A

Primeiramente você deve criar um projeto EAR (Aplicação corporativa). No netbeans Novo Projeto -> Java EE -> Aplicativo Corporativo.
Feito isso você deve adicionar os módulos WAR e EJB no projeto, clicando com direito no projeto "Adicionar módulo Java EE".
É bem mais interessante você utilizar Injeção de dependência nesses casos.

Um exemplo simples:

no EJB:
import javax.ejb.Stateless;


@Stateless
public class MeuEJB {

    public void fazAlgumaCoisa(){
        
    }
    
}

no WAR:

import javax.ejb.EJB;
import javax.faces.bean.ManagedBean;


@ManagedBean
public class MeuManagedBean {

    @EJB
    private MeuEJB meuEJB;
    
    public void chamarEjb(){
        meuEJB.fazAlgumaCoisa();
    }
    
}

Pronto! Feita a injeção de dependência.

JM4X

não precisa do import para MeuEJB?

nem lookup?

mesmo em projetos separados?

JM4X

Não funcionou… o projeto fica com erro, pq nao sabe da onde surgiu o tipo “MeuEJB”…

alguem mais pode ajudar???

A

Você deve importar o EJB no projeto WAR, no netbeans vá em propriedades do projeto -> bibliotecas -> adicionar projeto e adicione o EJB.

JM4X

Aew!!! Valew cara!!! Funcionou!!!

Obrigadu.

Criado 6 de maio de 2011
Ultima resposta 9 de mai. de 2011
Respostas 5
Participantes 2