Dúvida interface Local Session Bean

2 respostas
tavelars

Pessoal boa tarde!

Estou estudando para a certificação EJB 3.1 e estou com a seguinte dúvida:

1- É preciso declarar uma interface Local para um bean de sessão?

Um amigo comentou aqui no serviço que na especificação 3.1 isso não é mais necessário.

No entanto, em sua essência um bean de sessão deve ser acessado ou por ID ou então através do lookup de JNDI.

Em toda literatura que tenho usado para estudo é mencionado utilizar a interface Local para acesso Local e Remote para acesso remoto e Endpoint para externalizar via webservice.

Se for dispensável a utilização da interface Local na especificação 3.1 como fica?

2 Respostas

w1lson

tavelars,

Na especificação Enterprise JavaBeans 3.1 tem várias novidades, sugiro que você utilize o material voltado pra ela pra estudo…

Sobre a sua dúvida, você simplesmente pode não por nada, por exemplo:

@Stateless public class MrBean() { ... }

Veja que não referencio nenhuma interface, neste caso os métodos que ficarão visíveis serão apenas os métodos públicos. Também existe uma anotação @LocalBean que pode ser utilizada:

@LocalBean @Stateless public class MrBean() { ... }

O resultado em ambos os casos acima é o mesmo, o EJB fica visível apenas na JVM que estiver sendo executado [visibilidade local].

w1lson

Apenas pra você ter mais uma referência:

Developing a session bean to have a No-Interface Local view
http://publib.boulder.ibm.com/infocenter/wasinfo/beta/index.jsp?topic=%2Fcom.ibm.websphere.nd.doc%2Fae%2Ftejb_dvnoview.html

Espero ter ajudado.

Criado 18 de abril de 2012
Ultima resposta 18 de abr. de 2012
Respostas 2
Participantes 2