Hi Gabriel, Try adding the following in your Module:
bind(EventoWS.class); That should work. Regards, Mischa On Mon, Jun 20, 2011 at 1:56 AM, Gabriel Cardelli < [email protected]> wrote: > 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. > -- 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.
