EJB: Dúvidas de Iniciante

0 respostas
lusilva1982

Olá pessoal, estou iniciando em EJb e tenho algumas dúvidas.

Eu entendi que para cada objeto de negócio (EJB) devo ter tipicamente uma lasses e duas interfaces, sendo por exemplo

class AlunoBean implements SessionBean
public class SAlunoBean implements SessionBean {
	private static final long serialVersionUID = -5820999926378497748L;
	private List<Aluno> alunos;

	public void ejbCreate() throws CreateException{
		this.alunos = new ArrayList<Aluno>();
	}
	
	public void addAluno(Aluno a){
		this.alunos.add( a );		
	}
	
	public List<Aluno> find(String name){
		ArrayList<Aluno> encontrados = new ArrayList<Aluno>();
		
		for(Aluno element : alunos){
			if( name.trim().toLowerCase().equals( element.getNome().toLowerCase()) )
				encontrados.add( element );
		}//

		return encontrados;		
	}

	public void ejbActivate() throws EJBException, RemoteException {
	}

	public void ejbPassivate() throws EJBException, RemoteException {
	}

	public void ejbRemove() throws EJBException, RemoteException {
	}

	public void setSessionContext(SessionContext arg0) throws EJBException, RemoteException {
	}

}
interface AlunoHome extends EJBHome
public interface AlunoHome extends EJBHome {

	Aluno create() throws RemoteException, CreateException;
}
interface Aluno extends EJBObject
public interface AlunoEjb extends EJBObject{

	public void addAluno(Aluno a) throws RemoteException;
	public List<Aluno> find(String n) throws RemoteException;

}

Consegui fazer funcionar facilmente meu EJB, criei 2 projetos no eclipse, 1 para a camada de Negócio e outro para Controle e Apresentação.
Mas gosto e preciso entender o conceito, foi o que não me responderam vários tutoriais que li na internet.
Tenho algumas dúvidas:

- Quem implementa as interfaces que eu criei??
- Pq a interface Home precisa ter os metodos criados no SessionBean?
- Qual é a função da interface q extende EJBObject?
- Existe uma ordem para serem chamadas pelo container?

Acho que com essas eu já consiguirei entender melhor, mas ainda tenho outras.

Obrigado.

Criado 25 de abril de 2008
Respostas 0
Participantes 1