Jersey (REST) ​​Unter-Ressource CDI

8

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:

%Vor%

Diese Ressource hat auch eine Unterressource:

%Vor%

Das ManufacturerFacade sieht folgendermaßen aus:

%Vor%

}

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!

    
Laurens 17.09.2011, 17:58
quelle

1 Antwort

14

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%     
Martin Matula 17.09.2011, 18:26
quelle

Tags und Links