Wie injiziert man Ressourcen in EJB3-Beans mit Spring 2.5?

8

Wenn ich eine EJB3-Bean (sagen wir eine statusfreie Session-Bean) in einer Anwendung mit Spring 2.5 für DI erstelle, wie sollte ich Abhängigkeiten von Spring in die Bean einfügen, ohne die Bean mit Spring zu verbinden?

    
Brabster 15.08.2010, 20:43
quelle

1 Antwort

7

Ich weiß nicht, ob Sie einen Interceptor als Kopplung verwenden, aber das ist meines Wissens der Standardansatz. Aus der Kapitel 18. Integration von Enterprise Java Beans (EJB) der Dokumentation:

  

18.3.2. EJB 3 Injektionsabfangvorrichtung

     

Für EJB 3 Session Beans und   Message-Driven Beans, Frühling bietet   ein praktischer Interceptor, der verrechnet wird   Spring 2.5's @Autowired Annotation   in der EJB-Komponentenklasse:   %Code%.   Dieser Interceptor kann angewendet werden   durch ein   %Code%   Annotation in der EJB-Komponentenklasse,   oder durch eine Interzeptor-bindende XML   Element in der EJB-Bereitstellung   Deskriptor.

%Vor%      

org.springframework.ejb.interceptor.SpringBeanAutowiringInterceptor von   Standard erhält Ziel-Beans von a   %Code%,   mit dem in einer Bean definierten Kontext   Definitionsdatei mit dem Namen   %Code%. Standardmäßig a   einzelne Kontextdefinition wird erwartet,   was nach Typ und nicht nach erhalten wird   namentlich. Jedoch, wenn Sie müssen   Wählen Sie zwischen mehreren Kontexten   Definitionen, ein spezifischer Locator-Schlüssel ist   erforderlich. Der Lokalisierungsschlüssel (d. H   Name der Kontextdefinition in    @Interceptors ) kann sein   explizit angegeben entweder durch   das Überschreiben der    SpringBeanAutowiringInterceptor Methode in a   Brauch   %Code%   Unterklasse.

Die einzige andere Option, die mir bekannt ist (Erweiterung der EJB 2.x-Support-Klassen), ist aus Sicht der Kopplung viel schlechter (und beantwortet daher Ihre Frage nicht).

Siehe auch

Pascal Thivent 15.08.2010, 21:03
quelle

Tags und Links