Ich arbeite an einem Enterprise-Projekt mit einem EJB-Modul und einem Webprojekt, das auf GlassFish v3.1, Weld v1.1 und Jersey läuft. Im EJB habe ich eine Entitätsklasse Manufacturer
definiert und eine Session-Fassade ManufacturerFacade
erzeugt.
Im Webprojekt möchte ich Manufacturer
Instanzen durch REST verfügbar machen. Um dies zu tun, habe ich die folgenden Ressourcen erstellt:
ManufacturersResource
ist eine Container-Ressource, die eine Liste aller in der Datenbank gespeicherten Hersteller zurückgibt. Dazu injizieren Sie ManufacturerFacade
und rufen die Methode findAll()
auf. Abgekürzter Code:
Diese Ressource hat auch eine Unterressource:
%Vor% Das ManufacturerFacade
sieht folgendermaßen aus:
}
Wir befinden uns jedoch in einer anderen Klasse, und das ManufacturerResource
wird nicht vom Framework instanziiert und hat daher nicht ManufacturerFacade
injiziert.
Ich weiß, dass ich die Fassade einfach von der Container-Ressource ( ManufacturersResource
) über den Konstruktor an die Item-Ressource ( ManufacturerResource
) übergeben kann, aber ist es auch irgendwie möglich, dass DI an ihnen arbeitet oder sie weitergibt der Konstrukteur eine perfekte Lösung hier?
Danke!
Sie sollten ResourceContext dafür verwenden und die ID mit einem Setter übergeben können. Bitte melden Sie einen Fehler, wenn es nicht funktioniert (http://java.net/jira/browse/JERSEY).
%Vor%