La inyección de dependencia con Spring (anotaciones JSR 330) en WebSphere 7 no funciona

Tengo una aplicación empresarial creada con Java 6, Spring Framework 3.1.2 y Mule-ESB 3.3.0, entre otras bibliotecas no relacionadas con esta pregunta.

Nuestros frijoles y servicios están todos declarados con@Named y@Inject Anotaciones JSR-330, respectivamente, para el escaneo automático de componentes y para la inyección de dependencias (no EJB, solo beans de servicio). Cuando se implementa en JBoss 4.2.3 (nuestro entorno de prueba), todo funciona bien. Sin embargo, cuando se implementa en WebSphere 7, las anotaciones JSR-330 parecen no estar funcionando. Los frijoles marcados con@Named Simplemente no se detectan, en absoluto.

Puedo asegurar que todo está configurado correctamente (ya que está funcionando en JBoss). Específicamente, la<context:component-scan /> tiene elbase-package atributo correctamente definido y lascope-resolver atributo correctamente configurado para usarJsr330ScopeMetadataResolver (Lo intentamos sin él también).

Soy consciente de que WebSphere 7 (7.0.0.23) puede no admitir este tipo de anotaciones. Todavía tengo que probarlo con@Component y@Autowired Equivalentes de primavera. Desafortunadamente, nos gustaría mucho usar las anotaciones JSR 330 para que nuestras clases no dependan directamente de Spring, a pesar de que estamos usando Spring Framework debajo del capó.

Sin embargo, aunque pasé un día completo de trabajo buscando una declaración definitiva de que WebSphere 7 no es compatible con las anotaciones JSR 330, hasta ahora no he encontrado nada.

Además, no puedo ver por qué no funcionaría, ya que asumo que Spring Framework es la que hace todo el trabajo, a través de<context:component-scan /> directiva en elapplication-context.xml expediente.

¿Alguien puede traer algo de luz sobre este tema?

¿Hay alguna manera de activar la inyección de dependencia a través de anotaciones en WebSphere 7?

Si vuelvo a cambiar de la JSR 330@Named / @Inject anotaciones a la propia primavera@Component y@Autowired ¿Es probable que funcione?

En un intento desesperado, ¿puedo extender la primavera deComponentScanBeanDefinitionParser ¿Entonces detectará las anotaciones JSR 330 incluso en WebSphere 7?

Si nada funciona, eventualmente volveré a la configuración XML simple. Sin embargo, esto es altamente indeseable porque habrá cientos de beans que se configurarán manualmente en el XML.

Respuestas a la pregunta(3)

Su respuesta a la pregunta