Guice - Jersey - Servlet-Bindung

Ich habe vor kurzem umgeschaltet, um zwei-Phasen-Einspritzung und dadurch entstand ein Fehler in meinem servlet verbindlich. Ich bin derzeit Umschaltung zwischen zwei Fehler-Modi und sind nicht sicher, welche Richtung ist am besten zu verfolgen.

Den ersten Fehler, den ich gestoßen war:

com.Sonne.jersey.api.container.ContainerException: Die ResourceConfig
Instanz enthält keine root-Ressource-Klassen.

Mein servlet-Modul wie folgt aussah:

public class MyServletModule extends JerseyServletModule {
    @Override
    protected void configureServlets() {
        bind(MyServlet.class).asEagerSingleton();

        serve("/*").with(GuiceContainer.class);
    }
}

War ich in der Lage, entfernen Sie diese Fehler, indem Sie explizit die Bereitstellung der com.Sonne.jersey.config.Eigenschaft.Pakete-parameter.

public class MyServletModule extends JerseyServletModule {

    @Override
    protected void configureServlets() {
        bind(MyServlet.class).asEagerSingleton();

        Map<String,String> parameters = new HashMap<String, String>();
        parameters.put(PackagesResourceConfig.PROPERTY_PACKAGES, MyServlet.class.getPackage().getName());
        serve("/*").with(GuiceContainer.class, parameters);
    }
}

Aber wenn ich das mache, Guice versucht, eine Just-in-Time-Bindung, die nicht respektieren die @Inject auf meinem servlet-Konstruktor.

com.google.injizieren.ConfigurationException: Guice Konfiguration-Fehler:

1) konnte Nicht erstellt werden, verbindlich für MyServlet. Es wurde bereits konfiguriert
auf einem oder mehreren Kind Injektoren oder private Module
gebunden an MyServletModule.configureServlets(MyServletModule.java:44), Wenn es war
in einem PrivateModule, haben Sie vergessen machen, dass das verbindlich? während
Auffinden MyServlet

1 Fehler bei
com.google.injizieren.intern.InjectorImpl.getBinding(InjectorImpl.java:150)

Mein servlet hat eine @Inject Konstruktor, der Argumente nicht gebunden werden kann nur in der Zeit. Nach dem Debuggen in InjectorImpl, ich glaube, das ist der Grund, dass Dinge scheitern, wenn ich PROPERTY_PACKAGES.

Ich bin nur nicht sicher, ob mit PROPERTY_PACKAGES ist richtig, und ich brauche, um zu beheben einige Bindungen? Oder wenn, dass ist die falsche Richtung und ich muss fix die original-ResourceConfig Fehler in einer anderen Weise.

Hilfe oder einen Impuls in die richtige Richtung, wird sehr geschätzt.

Schreibe einen Kommentar