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
[code]public class SAlunoBean implements SessionBean {
private static final long serialVersionUID = -5820999926378497748L;
private List 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 {
}
}
[/code]
interface AlunoHome extends EJBHome
[code]
public interface AlunoHome extends EJBHome {
Aluno create() throws RemoteException, CreateException;
}[/code]
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:
[b]- 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?[/b]
Acho que com essas eu já consiguirei entender melhor, mas ainda tenho outras.
Obrigado.