Injeção de dependência com Spring (anotações JSR 330) no WebSphere 7 não está funcionando

Eu tenho um aplicativo corporativo construído com o Java 6, o Spring Framework 3.1.2 e o Mule-ESB 3.3.0, entre outras bibliotecas não relacionadas a essa questão.

Nossos grãos e serviços são todos declarados com@Named e@Inject Anotações JSR-330, respectivamente para varredura automática de componentes e para injeção de dependência (sem EJBs, somente beans de serviço). Quando implantado no JBoss 4.2.3 (nosso ambiente de teste), tudo funciona bem. No entanto, quando implementados no WebSphere 7, as anotações JSR-330 parecem não estar funcionando. Os feijões marcados com@Named simplesmente não são detectados.

Eu posso garantir que tudo está configurado corretamente (já que está funcionando no JBoss). Especificamente, o<context:component-scan /> tem obase-package atributo definido corretamente e oscope-resolver atributo configurado corretamente para usarJsr330ScopeMetadataResolver (nós tentamos sem isso também).

Estou ciente de que o WebSphere 7 (7.0.0.23) pode não suportar esse tipo de anotação. Eu ainda estou para testá-lo com@Component e@Autowired Equivalentes da primavera. Infelizmente, gostaríamos muito de usar as anotações do JSR 330 para que nossas classes não dependessem diretamente do Spring, mesmo usando o Spring Framework.

No entanto, embora eu tenha passado um dia inteiro de trabalho procurando por uma declaração definitiva de que o WebSphere 7 não suporta anotações JSR 330, não encontrei nada até agora.

Além disso, não vejo por que isso não funcionaria, já que estou assumindo que o Spring Framework é quem faz todo o trabalho, através do<context:component-scan /> directiva noapplication-context.xml Arquivo.

Alguém pode trazer alguma luz para esta questão?

Existe uma maneira de ativar a injeção de dependência por meio de anotações no WebSphere 7?

Se eu voltar da JSR 330@Named / @Inject anotações para o próprio Spring@Component e@Autowired é provável que funcione?

Numa tentativa desesperada, posso estender o Spring'sComponentScanBeanDefinitionParser então ele detectará anotações JSR 330 mesmo no WebSphere 7?

Se nada funcionar, acabarei voltando à configuração XML simples. Isso é altamente indesejável, no entanto, porque haverá centenas de beans para serem configurados manualmente no XML.

questionAnswers(3)

yourAnswerToTheQuestion