embedded-jetty

___ tag123guice ___ Guice ist ein einfaches Framework zur Abhängigkeitsinjektion für Java. ___ qstnhdr ___ Resteasy und Google Guice: Wie verwendet man mehrere @ApplicationPath und Ressourcen mit @Injection? ___ tag123resteasy ___ Ein JBoss-Projekt, das verschiedene Frameworks zur Erstellung von RESTful-Webdiensten und Java-Anwendungen bereitstellt ___ tag123embeddedjetzty ___ Jetty ist ein weit verbreiteter Web-Container (Server), der in Java geschrieben ist und von Eclipse erstellt wird. ___ qstntxt ___

Ich habe ein Projekt erstellt , um die Abhängigkeitsinjektion von Google Guice in meinem Blog zu testen Jax-rs Ressourcen, mit Resteasy.

Meine Absichten sind:

  • Verwenden Sie mehrere %code% für die Versionen meiner API. In jeder mit %code% annotierten Klasse lade ich eine Menge von Klassen für die spezifische Version.
  • Jede Ressource hat einen %code% (von Google Guice) in seinem Konstruktor, um einige Dienste zu injizieren.

Ich habe zwei Klassen erstellt, die mit %code% : %code% und %code% kommentiert wurden. In beiden habe ich die gleichen Ressourcen-Klassen ( %code% und %code% ) nur für meinen Test hinzugefügt.

Mein Modul ist wie folgt konfiguriert:

%Vor%

Wenn ich %code% oder %code% aufruft, erhalte ich denselben Fehler:

%Vor%

Nun, wie ich erwartet habe, funktioniert das nicht. Der Google Guice ist nicht "schlau", um die Ressourcenklassen mit dem Konstruktor für mich zu instanziieren.

Aber ich kann keinen Weg zur Arbeit finden. Um wirklich ehrlich zu sein, bin ich wirklich verwirrt darüber, wie Google Guice, Jetty und Resteasy in diesem Szenario miteinander spielen.

Wenn ich die Verwendung von %code% ablehne, arbeiten meine Ressourcen mit Google Guice und konfigurieren meine %code% wie folgt:

%Vor%

Aber in diesem Fall übergebe ich das Steuerelement, um meine Ressourcen ( %code% und %code% ) an Guice zu registrieren. Es ist nicht flexibel für mich, ich kann meine multiple %code% nicht einrichten.

Also, was ich vermisse oder nicht verstehe?

Ich habe ein Projekt mit dem problematischen Code erstellt. Ist sehr einfach einzurichten und zu testen: Ссылка

Danke!

    
___ answer39635961 ___

Wenn Sie die Methode %code% in Ihrer Anwendung verwenden, versucht sie, eine Instanz für alle registrierten Ressourcen zu erstellen, indem sie den Standardkonstruktor verwendet, der in unserer Ressourcenklasse fehlt. Eine Möglichkeit besteht darin, einen Standardkonstruktor zu erstellen und die Abhängigkeiten über Setter Injection zu injizieren. Und anstatt %code% in %code% und %code% zu überschreiben, überschreiben Sie %code% . Da Ressourcen Singleton sein können.

Im Folgenden sind die Änderungen aufgeführt, die ich vorgenommen habe, damit es so funktioniert, wie Sie es möchten.

  

AnwendungV1RS.java

%Vor%
  

AnwendungV2RS.java

%Vor%
  

HalloResource.java

%Vor%
  

UserResource.java

%Vor%

Fügen Sie %code% zu Ihren Serviceklassen hinzu.

Ich hoffe, es hilft.

Ich habe den Code auch auf repo gejagt . schau es dir an

    
___ tag123jaxrs ___ JAX-RS: Java API für RESTful Web Services. Es ist eine API, die Unterstützung beim Erstellen von Web-Services gemäß dem REST-Architekturstil bietet. ___
1
Antwort

Wie man Jetty in Spring einbaut und denselben AppContext verwendet, in den es eingebettet wurde?

Ich habe einen Spring ApplicationContext, in dem ich die Jetty-Server-Bean deklariere und starte. Inside Jetty Ich habe ein DispatcherServlet und ein paar Controller. Wie können Sie festlegen, dass DispatcherServlet und seine Controller Beans au...
02.07.2010, 08:05
3
Antworten

Die Jetty-HTTP-Sitzung ist immer null (Embedded Container, ServletHolder)

Ich versuche, ein einfaches Servlet zu implementieren, das eine HTTP-Sitzung in verwendet ein eingebetteter Steg (7.3.0 v20110203) Container. Zum Starten der Anlegestelle benutze ich den folgenden Code: %Vor% Das Servlet erwirbt eine Sitzung...
12.03.2011, 17:47
1
Antwort

AbstractAnnotationConfigDispatcherServletInitializer mit Jetty

Ich verwende Jetty 9.1.0.RC2 und Spring 4. Haben Sie AbstractAnnotationConfigDispatcherServletInitializer und versuchen Sie die Initialisierung mit: zu starten %Vor% Aber nicht erkennen: %Vor%     
05.03.2014, 16:50
4
Antworten

Wie man Anlegesteg 7+ mit spezifischem Krieg mit Groovy / Gradle startet?

Ich möchte Jetty 7+ mit einem großen Build ausführen, aber unglücklicherweise sieht es so aus, als ob es keine Möglichkeit gibt, dies mit jettyRun zu tun. Also wahrscheinlich einfachste Idee zu erreichen, was ich will, wäre benutzerdefinierte Zi...
25.11.2011, 08:19
2
Antworten

Map jourty ResourceHandler einer URL zuordnen

Ist es möglich, mithilfe von Embedded Jetty statische Dateien aus dem Verzeichnis X bereitzustellen, die jedoch der URL Y zugeordnet sind? Ich habe statische Dateien im Verzeichnis "web" gespeichert, aber ich möchte, dass die URL etwas wie http...
19.02.2013, 13:05
1
Antwort

Java / Jetty: Hinzufügen eines Filters zu Embedded Jetty

Ich arbeite mit Embedded Jetty und möchte einen Servlet-Filter hinzufügen, der vor jeder Anfrage auf Authentifizierung prüft. Ich habe versucht, diesem Beispiel zu folgen, aber es sieht so aus, als ob sich die Signatur geändert hat. %Vor%...
23.10.2013, 00:41
3
Antworten

Veröffentlichen des JAX-WS-Endpunkts mit eingebettetem Jetty 7

Kann jemand damit helfen? Ich möchte einen eingebetteten Jetty 7 als Endpunkt verwenden. Das habe ich versucht: %Vor% } Aber ich kann nicht sehen, ob dies wirklich Jetty statt der Standard-Sonne HttpServer verwendet. Ein Blog erwähnt...
26.10.2009, 16:08
3
Antworten

Wie überschreibt man einen eingebauten Exception Mapper in Jersey 2.23?

In einem meiner Projekte habe ich Jersey von der Version 2.14 auf 2.23 aktualisiert. Aber ich habe viele Stunden mit einem Problem zu kämpfen. Mein Projekt definiert sein eigenes ExceptionMapper für ein ValidationException , aber leid...
31.07.2016, 08:05
4
Antworten

Jetty 9.0 eingebettet und RestEasy 3.0 wirft weiterhin NoSuchMethodError

Heute hatte ich die Idee, eine sehr einfache Webanwendung zu erstellen, die von einem REST-Backend betrieben wird. Da ich einen sehr leichten Server wollte, habe ich angefangen, Jetty zu betrachten. Und da ich eine andere JAX-RS-Implementierung...
12.07.2013, 15:33
2
Antworten

Gibt es eine Möglichkeit, Kontext-Parameter programmatisch in Embedded Jetty zu setzen?

Betrachten Sie das folgende Beispiel eines eingebetteten Jetty-Beispiels: Ссылка Das folgende Codebeispiel wird angegeben (unten. Der Autor geht dann weiter und gibt ein Beispiel für den Verweis auf Kontextparameter in einer web.xml-Date...
17.03.2012, 04:48