I'm trying to set up a project using Google Guice 3.0 JAX-RS and Jersey 1.7
for the server side however google guice is not injecting any class.

*web.xml*
<?xml version="1.0" encoding="ISO-8859-1"?>
<web-app xmlns="http://java.sun.com/xml/ns/j2ee"; xmlns:xsi="
http://www.w3.org/2001/XMLSchema-instance";
 xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd";
 version="2.4">

<display-name>Institucional Eventos - Wicket Application</display-name>

<listener>
<listener-class>br.impa.apps.eventos.config.servlet.listener.ImpaGuiceServletContextListener</listener-class>
 </listener>

<servlet>
<servlet-name>Jersey REST Service</servlet-name>

<servlet-class>com.sun.jersey.spi.container.servlet.ServletContainer</servlet-class>
<init-param>
 <param-name>com.sun.jersey.config.property.packages</param-name>
<param-value>br.impa.apps.eventos.ws</param-value>
 </init-param>
<load-on-startup>1</load-on-startup>
</servlet>
 <servlet-mapping>
<servlet-name>Jersey REST Service</servlet-name>
 <url-pattern>/ws/*</url-pattern>
</servlet-mapping>

</web-app>

*ImpaGuiceServletContextListener*
*
*
public class ImpaGuiceServletContextListener extends
GuiceServletContextListener{

private final transient Logger log =
Logger.getLogger(ImpaGuiceServletContextListener.class);
 @Override
protected Injector getInjector() {
 log.info("getInject() - Executando");
 return Guice.createInjector(new EventosModule());

 }
 }

*EventosModule*
public class EventosModule extends ServletModule {

private final transient Logger log =
Logger.getLogger(EventosModule.class.getName());
 public final static String PERSISTENCE_UNIT = "eventosImpa";

public void configureServlets() {
 log.info("Configurando Modulo - Eventos");
 final Map<String, String> params = new HashMap<String, String>();
 params.put("javax.ws.rs.Application",
"br.impa.apps.eventos.config.module.JerseyApp");
 install(new JpaPersistModule(PERSISTENCE_UNIT));
 filter("/*").through(PersistFilter.class);
 bind(EventoService.class).to(EventoServiceImpl.class).in(Singleton.class);
 filter("/*").through(GuiceFilter.class);
 log.info("Cofigurando Modulo JPA");
 }

}

*Web Service Rest*
@Path("/evento")
@RequestScoped
public class EventoWS {

private final transient Logger log = Logger.getLogger(EventoWS.class);
 @Inject
private EventoService eventoService;
 @GET
@Produces({MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON})
public List<Evento> list() {
 log.info("Executando método list()");
log.info("EventoService: " + eventoService );
        return eventoService.list(null);
    }

 public void setEventoService(EventoService eventoService) {
 this.eventoService = eventoService;
}
 }


When I try to run the web service
 eventoService is null,
 I am not able to understand why?

thks all!

 *
 Gabriel Cardelli
Software Developer

*

-- 
You received this message because you are subscribed to the Google Groups 
"google-guice" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/google-guice?hl=en.

Reply via email to