EJB - injeção de pojos

9 respostas
F

É possível injetar um pojo em um ejb tipo:

@Inject UsuarioDao

obs.: o usuário não é um ejb, apenas uma classe.

9 Respostas

maior_abandonado

usando CDI você consegue injetar qualquer classe, você precisa que ela tenha um construtor sem argumentos, precisa que no seu contexto tenha o arquivo META-INF/beans.xml e precisa que o “container” do CDI esteja rodando

F

Então estou fazendo da seguinte forma:

public class MeuEjb implements MeuEjbLocal {
	
	@Inject
	private MinhaClasse minhaClasse;

O arquivo beans.xml está no diretório META-INF, mas mesmo assim da erro.

maior_abandonado

está usando a anotação @Intect do pacote javax.inject?
seu beans.xml está na pasta META-INF dentro do seu pacote de fontes?
sua classe à ser injetada tem algum construtor sem argumentos?
sua classe à ser injetada está no mesmo “projeto” da sua IDE que o beans.xml ou está em algum .jar incluido como lib?

F

Opa
está usando a anotação @Intect do pacote javax.inject? sim
seu beans.xml está na pasta META-INF dentro do seu pacote de fontes?sim, tenho um beans.xml no pacote jar dos ejb’s e outro no jar da camada comunicadora (coloquei mais um beans xml para ver se funcionava, mas ainda está com o mesmo erro).
sua classe à ser injetada tem algum construtor sem argumentos?sim
sua classe à ser injetada está no mesmo “projeto” da sua IDE que o beans.xml ou está em algum .jar incluido como lib?sim, estão no mesmo projeto, mas em jar’s separados, há algum problema? Tudo isso empacotado em um ear.

maior_abandonado

FoxMurder:
maior_abandonado:

está usando a anotação @Intect do pacote javax.inject?
seu beans.xml está na pasta META-INF dentro do seu pacote de fontes?
sua classe à ser injetada tem algum construtor sem argumentos?
sua classe à ser injetada está no mesmo “projeto” da sua IDE que o beans.xml ou está em algum .jar incluido como lib?

Opa
está usando a anotação @Intect do pacote javax.inject? sim
seu beans.xml está na pasta META-INF dentro do seu pacote de fontes?sim, tenho um beans.xml no pacote jar dos ejb’s e outro no jar da camada comunicadora (coloquei mais um beans xml para ver se funcionava, mas ainda está com o mesmo erro).
sua classe à ser injetada tem algum construtor sem argumentos?sim
sua classe à ser injetada está no mesmo “projeto” da sua IDE que o beans.xml ou está em algum .jar incluido como lib?sim, estão no mesmo projeto, mas em jar’s separados, há algum problema? Tudo isso empacotado em um ear.

se ambos estão em jars separados, então tem que ter um beans.xml em cada, cada um dentro de uma pastinha chamada META-INF

vou ver se faço um exemplozinho entre hoje e amanhã e te mando… qual servidor você está usando?

F

maior_abandonado:
FoxMurder:
maior_abandonado:

está usando a anotação @Intect do pacote javax.inject?
seu beans.xml está na pasta META-INF dentro do seu pacote de fontes?
sua classe à ser injetada tem algum construtor sem argumentos?
sua classe à ser injetada está no mesmo “projeto” da sua IDE que o beans.xml ou está em algum .jar incluido como lib?

Opa
está usando a anotação @Intect do pacote javax.inject? sim
seu beans.xml está na pasta META-INF dentro do seu pacote de fontes?sim, tenho um beans.xml no pacote jar dos ejb’s e outro no jar da camada comunicadora (coloquei mais um beans xml para ver se funcionava, mas ainda está com o mesmo erro).
sua classe à ser injetada tem algum construtor sem argumentos?sim
sua classe à ser injetada está no mesmo “projeto” da sua IDE que o beans.xml ou está em algum .jar incluido como lib?sim, estão no mesmo projeto, mas em jar’s separados, há algum problema? Tudo isso empacotado em um ear.

se ambos estão em jars separados, então tem que ter um beans.xml em cada, cada um dentro de uma pastinha chamada META-INF

vou ver se faço um exemplozinho entre hoje e amanhã e te mando… qual servidor você está usando?

Estou usando o jboss6-0-0.
Agradeceria se você me desse um help, valeu mesmo!

maior_abandonado

no jboss 6 eu não sei se você vai ter isso normalmente por que ele não implementa JEE6 (onde o CDI está contido).

eu acho que ja fiz isso no passado em uns testes mas foi usando o jboss 7.1… e já fiz coisa assim também em aplicação desktop, onde você mesmo que iniciaria o container do cdi…

eu vo testar no 7, funcionando mudo os projetos para jboss 6… (recomendo você de fazer o mesmo teste, pega o seu projeto no jboss 6, fz backup, muda para jboss 7 e testa).

maior_abandonado

como que o pessoal faz para anexar arquivo aqui nas mensagens? que fica um link para download?

maior_abandonado

cara eu simulei aqui no jboss 6.1 e funcionou certinho…

eu tinha dado uma googlada, no tomcat você adicionaria um listener no web.xml…

eu não declarei esse listener, não adicionei jar em lugar nenhum… enfim, fiz igualzinho tinha feito no jboss 7 e rodo normalmente…
só não adicionei aqui para fazer o download por que não sei como fazer isso mesmo…

Criado 12 de julho de 2012
Ultima resposta 13 de jul. de 2012
Respostas 9
Participantes 2