Erro ao implemetar CDI @EJB NULL

Bom, boa tarde, vou explicar minha situação. Tecnologias que utilizo no meu projeto (JBOSS 7.1,Struts 2,Maven)Esquema de pastas EAR(EJB,WEB.war).
já utilo lookup no meus ejbs e funciona, queria implementar CDI na minha camada service, mas meu EJB esta vindo null.

Interface

public interface ClasseEAO extends GenericEAO<Classe, Long>{

}
@Stateful
public class ClasseEAOImpl extends GenericEAOImpl<Classe, Long> implements ClasseEAO {

}

Service

[code]public class ManterClasseServiceImpl extends ManterServiceImpl implements ManterClasseService {

public ManterClasseServiceImpl(Usuario usuario,String messageId) {
	super(usuario,messageId);
}
@EJB(lookup="java:global/sEAR/sEJB/ClasseEAOImpl")
private ClasseEAO classeEAO (ESTA NULL);

[/code]
Lembrando que essa JNDI esta funcionando porq já utilizo em produção só que com lookup tradicional(Context).

Já utilizei @Inject mas nada.

Bom parece que essa anotação @EJB de injeção não funciona legal com struts 2, teria que usar um plugin para isso. quando abrir um espaço n projeto para estudo volto a pensar nisso.

dcorteztec esta anatoção @EJB é para fazer referências de EJBs Locais logo não precisa de lookup.

Além de não precisar do lookup como thiagoMek mencionou, vc precisa anotar “ManterClasseServiceImpl” como EJB ou CDI, senão o servidor vai ignorar essa classe.

é tveronezi vc pode me explicar melhor essa parte “vc precisa anotar “ManterClasseServiceImpl” como EJB ou CDI”.

Exemplo:

@Stateless //ejb
public class ManterClasseServiceImpl extends ManterServiceImpl<ClasseDomain> implements ManterClasseService {  
.
.
.

ou

@Stateful //ejb
public class ManterClasseServiceImpl extends ManterServiceImpl<ClasseDomain> implements ManterClasseService {  
.
.
.

ou

@ApplicationScoped //managed bean
public class ManterClasseServiceImpl extends ManterServiceImpl<ClasseDomain> implements ManterClasseService {  
.
.
.

ou

@SessionScoped //managed bean
public class ManterClasseServiceImpl extends ManterServiceImpl<ClasseDomain> implements ManterClasseService {  
.
.
.

… entre outras, mas vc terá que modificar o construtor. da classe (público, sem parâmetros).
Sem uma dessas anotações, a tua classe não será gerenciada pelo servidor, então as DIs não funcionarão.

Pow tveronezi era isso que eu pensei na hora da sua resposta, mas eu queria ter certeza , só não vou tentar agora porque estou no meio de uma entrega, assim que testar te darei o feedback. muito obrigado pela ajuda , vlw msm funcionado vai ajudar muito.