Actualmente estoy trabajando en una aplicación de jersey con Jersey 1.8 junto con Guice 3.0 para DI para mi JPA. Esto funciona bastante bien con una cuestión importante, que yo no era capaz de superar:Guice + Jersey: Agregue todos los recursos y proveedores sin vincular a Jersey Servlet
tengo que añadir manualmente todas las clases de recursos Jersey a la JerseyServletModule usando bind:
@Override
protected Injector getInjector() {
return Guice.createInjector(new JerseyServletModule() {
@Override
protected void configureServlets() {
install(new JpaPersistModule("DBName"));
filter("/*").through(PersistFilter.class);
/* bind the REST resources and serve*/
bind(Hello.class);
serve("/*").with(GuiceContainer.class);
}
});
}
Me gustaría ser capaz de omite el uso de bind para cada recurso y proveedor y se encuentra en la jersey-guice doc a comment: http://jersey.java.net/nonav/apidocs/1.8/contribs/jersey-guice/com/sun/jersey/guice/spi/container/servlet/package-summary.html
Básicamente indica que se puede pasar el registro de los recursos de jersey al servlet de jersey. Sin embargo yo no era capaz de manejar esto utilizando dicho método:
@Override
protected Injector getInjector() {
return Guice.createInjector(new JerseyServletModule() {
@Override
protected void configureServlets() {
bind(GuiceResource.class);
Map<String, String> params = new HashMap<String, String>();
params.put(PackagesResourceConfig.PROPERTY_PACKAGES, "unbound");
serve("/*").with(GuiceContainer.class, params);
}
}
});
Lamentablemente no pude conseguir más información sobre el proceso de registro de los recursos jersey.
Cualquier ayuda sería apreciada. ¡Por supuesto que puedo proporcionar información adicional, si es necesario! Gracias.
¡Gracias, realmente útil! Tuve el mismo problema. –