Explicando melhor o titulo:
Tenho um módulo EJB (jar separado), tenho um módulo java normal (jar separado) e tenho um módulo web (war separado).
- ejb.jar:
- Teste.java (Teste extends ITeste / @Stateless)
- interfaces.jar:
- ITeste.java (Interface anotada como @Local)
- app.war:
- TesteController.java (ITeste ejbTeste = serviceLocator.get(ITeste.class) / ou / Teste teste = (Teste) serviceLocator.get(ITeste.class));
esse aí acima é meu cenário, tem como eu usar injeção via @EJB ou @Inject (cdi) para ter esse bean no meu controller em vez de usar o Service Locator? Ou só via lookup mesmo?
Já vi muito falando em “ejb-jar.xml”… já vi gente dizendo pra usar EJB dentro do pacote WAR (que não é o caso, pois quero ele justamente fora para poder dar deploy/redeploy sem restartar a aplicação web)… vai aparecer assim na lista de aplicações do Glassfish:
glassfish:
[i]- ejb
- app[/i]
já vi gente dizendo que funciona só com anotação (@EJB ou @Inject) se usando EJB 3.1 ou +… e por aí vai… mas o fato que não estou conseguindo usar de forma diferente do que exposto acima…
E aí, tem como usar injeção nesse caso? Sim: como? Não: porquê?
Abraço