Usar ejb sem JBoss

18 respostas
furutani

Olá!
Estou com problemas para utilizar os meus EJB´s sem o JBoss.
A ideia é cria uma classe concreta estendendo a classe que Implenta a interface SessionBean e implementar interface estende EJBObject.
O problema é que obrigatoriamente devo implementar uns métodos. public EJBHome getEJBHome() throws RemoteException{} public Object getPrimaryKey() throws RemoteException{} public void remove() throws RemoteException, RemoveException{} .. e mais alguns
O eclipse gerou automatico esse métodos com retorno null, esta dando nullpointerException. Eu acho que tem haver com esses métodos

Gostaria de saber se é preciso fazer alguma coisa dentro desse métodos.

Grato

18 Respostas

danieldestro

Não tem sentido executar ou usar EJB fora de um EJB container.

cv1

Logico que tem. Testes unitarios, por exemplo.

furutani

Tem sim. :smiley: Temos que fazer isso para não ter que reimplementar as regras de negocio (que iriam dar um trabalhão) para um versão do nosso sistema.

danieldestro

Tá! Mas e o código que os Containers costumam gerar?

furutani

Sei lá. :roll:
Eu implementei uma classe concreta estendendo o SessionBean e implementando a interface remota.Para o que eu queria funcionou certinho.
Agora eu só vou usar o jetty como conteiner JSP/Servlet.

_fs

E como você instanciou esses ejbs?? Chamando a classe normalmente?

furutani

Sim, normalmente com o new.

danieldestro

Bom, pra SessionBean faz mais sentido do que Entity CMP.

_fs

Cara … estou confuso. EJBs são formados por um conjunto de classes e interfaces normais, que extendem e implementam outras classes específicas. É claro que você pode instanciá-los normalmente. Mas achar que o container está te trazendo todas as vantagens sobre controle de transações, pooling, segurança etc é ingenuidade de sua parte hehe

Como o sr. Destro falou, para testar empiricamente que isto simplesmente não funciona, tente implementar um EJB CMP e veja o que acontece no banco de dados hehe

De novo: Jetty não é um Application Server.

Mais em:
http://www.mortbay.org/jetty/faq?s=600-J2EE&t=J2EE
http://www.mortbay.org/jetty/faq/

furutani

Não estamos usando EJB CMP, mas sim SESSION Beans. De acordo com meus testes funcionou perfeitamente.
Eu sei que o Jetty não é um AS. Estou fazendo tudo isso para não ter que usar um AS.
E funciona, agora só falta eu conseguir configurar o Jetty para trabalhar com JNDI (por causa do Hibernate).

Parece meio doido né?

_fs

@.@

Sem nem um ejb-jarzinho.xml?

Daniel_Quirino_Olive

:shock: Weird!

furutani

“LIPE”:
@.@

Sem nem um ejb-jarzinho.xml?

Como eu disse, estou interessado na classe em si e não nos serviços que o JBoss oferece, por isso não é necessário nenhum arquivo de configuração.

O sistema será uma versão desktop(pra uma maquina) de uma outra que ai sim é necessário um AS, por isso vamos usar Jetty e dispensar o Jboss.

danieldestro

Então vc não está usando as interfaces Home, Local e etc, nem criando uma instância usando o método create(), mas sim usando new, certo?
:roll:

furutani

“danieldestro”:
Então vc não está usando as interfaces Home, Local e etc, nem criando uma instância usando o método create(), mas sim usando new, certo?
:roll:

Mais ou menos :smiley:

Dai é so dar um new ClasseOffline que voce tem acesso todos os metodos do session bean.

danieldestro

Adapter! 8)

furutani

Hãnn??! Que isso?

danieldestro

É um Design Pattern.

Criado 13 de setembro de 2004
Ultima resposta 14 de set. de 2004
Respostas 18
Participantes 5