Die Abhängigkeitsinjektion mit Spring (JSR 330-Annotationen) in WebSphere 7 funktioniert nicht

Ich habe eine Unternehmensanwendung, die unter anderem mit Java 6, Spring Framework 3.1.2 und Mule-ESB 3.3.0 erstellt wurde.

Unsere Bohnen und Dienstleistungen sind alle mit deklariert@Named und@Inject JSR-330-Annotationen für das automatische Scannen von Komponenten bzw. für das Einfügen von Abhängigkeiten (keine EJBs, nur Service-Beans). Bei der Bereitstellung in JBoss 4.2.3 (unserer Testumgebung) funktioniert alles einwandfrei. Bei der Implementierung in WebSphere 7 scheinen die JSR-330-Anmerkungen jedoch nicht zu funktionieren. Die mit gekennzeichneten Bohnen@Named werden einfach gar nicht erkannt.

Ich kann versichern, dass alles richtig konfiguriert ist (da es in JBoss funktioniert). Insbesondere die<context:component-scan /> hat diebase-package Attribut richtig definiert und diescope-resolver Attribut richtig konfiguriert zu verwendenJsr330ScopeMetadataResolver (wir haben es auch ohne ausprobiert).

Ich weiß, dass WebSphere 7 (7.0.0.23) solche Anmerkungen möglicherweise nicht unterstützt. Ich muss es noch mit testen@Component und@Autowired Federäquivalente. Leider würden wir sehr gerne JSR 330-Annotationen verwenden, damit unsere Klassen nicht direkt von Spring abhängen, obwohl wir Spring Framework unter der Haube verwenden.

Obwohl ich einen ganzen Arbeitstag damit verbracht hatte, nach einer eindeutigen Aussage zu suchen, dass WebSphere 7 JSR 330-Annotationen nicht unterstützt, habe ich bisher nichts gefunden.

Außerdem kann ich nicht verstehen, warum es nicht funktionieren würde, da ich davon ausgehe, dass Spring Framework die gesamte Arbeit über das Internet erledigt<context:component-scan /> Richtlinie in derapplication-context.xml Datei.

Kann jemand etwas Licht in diese Ausgabe holen?

Gibt es eine Möglichkeit, die Abhängigkeitsinjektion über Anmerkungen in WebSphere 7 zu aktivieren?

Wenn ich vom JSR 330 zurückschalte@Named / @Inject Anmerkungen zu Frühlings eigenen@Component und@Autowired wird es wahrscheinlich funktionieren?

In einem verzweifelten Versuch kann ich Spring's verlängernComponentScanBeanDefinitionParser werden JSR 330-Annotationen auch in WebSphere 7 erkannt?

Wenn nichts funktioniert, werde ich irgendwann auf die reine XML-Konfiguration zurückgreifen. Dies ist jedoch höchst unerwünscht, da im XML Hunderte von Beans manuell konfiguriert werden müssen.

Antworten auf die Frage(3)

Ihre Antwort auf die Frage