I'm trying execute Guice + JPA but i get an error:

com.google.inject.ProvisionException: Guice provision errors:

1) Error in custom provider, java.lang.NullPointerException
  while locating com.google.inject.persist.jpa.JpaPersistService
  while locating javax.persistence.EntityManager

1 error
        com.google.inject.internal.InjectorImpl$4.get(InjectorImpl.java:987)
        
br.impa.apps.eventos.infra.dao.impl.EventoDAOImpl.save(EventoDAOImpl.java:31)
        
br.impa.apps.eventos.infra.dao.impl.EventoDAOImpl.save(EventoDAOImpl.java:23)
        
br.impa.apps.eventos.servico.impl.EventoServiceImpl.save(EventoServiceImpl.java:41)
        br.impa.apps.eventos.ws.EventoWS.list(EventoWS.java:30)
        sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        java.lang.reflect.Method.invoke(Method.java:597)
        
com.sun.jersey.spi.container.JavaMethodInvokerFactory$1.invoke(JavaMethodInvokerFactory.java:60)
        
com.sun.jersey.server.impl.model.method.dispatch.AbstractResourceMethodDispatchProvider$TypeOutInvoker._dispatch(AbstractResourceMethodDispatchProvider.java:185)
        
com.sun.jersey.server.impl.model.method.dispatch.ResourceJavaMethodDispatcher.dispatch(ResourceJavaMethodDispatcher.java:75)
        
com.sun.jersey.server.impl.uri.rules.HttpMethodRule.accept(HttpMethodRule.java:288)
        
com.sun.jersey.server.impl.uri.rules.ResourceClassRule.accept(ResourceClassRule.java:108)
        
com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:147)
        
com.sun.jersey.server.impl.uri.rules.RootResourceClassesRule.accept(RootResourceClassesRule.java:84)
        
com.sun.jersey.server.impl.application.WebApplicationImpl._handleRequest(WebApplicationImpl.java:1465)
        
com.sun.jersey.server.impl.application.WebApplicationImpl._handleRequest(WebApplicationImpl.java:1396)
        
com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:1345)
        
com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:1335)
        
com.sun.jersey.spi.container.servlet.WebComponent.service(WebComponent.java:416)
        
com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:537)
        
com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:699)
        javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
        
com.google.inject.servlet.ServletDefinition.doService(ServletDefinition.java:263)
        
com.google.inject.servlet.ServletDefinition.service(ServletDefinition.java:178)
        
com.google.inject.servlet.ManagedServletPipeline.service(ManagedServletPipeline.java:91)
        
com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:62)
        
com.google.inject.servlet.ManagedFilterPipeline.dispatch(ManagedFilterPipeline.java:118)
        com.google.inject.servlet.GuiceFilter.doFilter(GuiceFilter.java:113)

*root cause*

java.lang.NullPointerException
        
com.google.inject.persist.jpa.JpaPersistService.begin(JpaPersistService.java:70)
        
com.google.inject.persist.jpa.JpaPersistService.get(JpaPersistService.java:50)
        
com.google.inject.persist.jpa.JpaPersistService.get(JpaPersistService.java:34)
        
com.google.inject.internal.BoundProviderFactory.get(BoundProviderFactory.java:55)
        com.google.inject.internal.InjectorImpl$4$1.call(InjectorImpl.java:978)
        
com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1024)
        com.google.inject.internal.InjectorImpl$4.get(InjectorImpl.java:974)
        
br.impa.apps.eventos.infra.dao.impl.EventoDAOImpl.save(EventoDAOImpl.java:31)
        
br.impa.apps.eventos.infra.dao.impl.EventoDAOImpl.save(EventoDAOImpl.java:23)
        
br.impa.apps.eventos.servico.impl.EventoServiceImpl.save(EventoServiceImpl.java:41)
        br.impa.apps.eventos.ws.EventoWS.list(EventoWS.java:30)
        sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        java.lang.reflect.Method.invoke(Method.java:597)
        
com.sun.jersey.spi.container.JavaMethodInvokerFactory$1.invoke(JavaMethodInvokerFactory.java:60)
        
com.sun.jersey.server.impl.model.method.dispatch.AbstractResourceMethodDispatchProvider$TypeOutInvoker._dispatch(AbstractResourceMethodDispatchProvider.java:185)
        
com.sun.jersey.server.impl.model.method.dispatch.ResourceJavaMethodDispatcher.dispatch(ResourceJavaMethodDispatcher.java:75)
        
com.sun.jersey.server.impl.uri.rules.HttpMethodRule.accept(HttpMethodRule.java:288)
        
com.sun.jersey.server.impl.uri.rules.ResourceClassRule.accept(ResourceClassRule.java:108)
        
com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:147)
        
com.sun.jersey.server.impl.uri.rules.RootResourceClassesRule.accept(RootResourceClassesRule.java:84)
        
com.sun.jersey.server.impl.application.WebApplicationImpl._handleRequest(WebApplicationImpl.java:1465)
        
com.sun.jersey.server.impl.application.WebApplicationImpl._handleRequest(WebApplicationImpl.java:1396)
        
com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:1345)
        
com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:1335)
        
com.sun.jersey.spi.container.servlet.WebComponent.service(WebComponent.java:416)
        
com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:537)
        
com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:699)
        javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
        
com.google.inject.servlet.ServletDefinition.doService(ServletDefinition.java:263)
        
com.google.inject.servlet.ServletDefinition.service(ServletDefinition.java:178)
        
com.google.inject.servlet.ManagedServletPipeline.service(ManagedServletPipeline.java:91)
        
com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:62)
        
com.google.inject.servlet.ManagedFilterPipeline.dispatch(ManagedFilterPipeline.java:118)
        com.google.inject.servlet.GuiceFilter.doFilter(GuiceFilter.java:113)


*Classes:*

*public class GuiceServletConfig extends GuiceServletContextListener {

    @Override
    protected Injector getInjector() {
        Injector i = Guice.createInjector(new ServletModule() {

            @Override
            protected void configureServlets() {
                // Bind classes
                bind(PerRequestResource.class);
                bind(EventoWS.class);
                bind(EventoService.class).to(EventoServiceImpl.class);
                bind(EventoDAO.class).to(EventoDAOImpl.class);
                bind(Principal.class).toProvider(PrincipalProvider.class);
                bind(SecurityContext.class).to(MySecurityContext.class);
                
                install(new JpaPersistModule("eventosImpa"));
                serve("/*").with(GuiceContainer.class);

                
            }
        });
        
        
        return i;
    }
}
*

*
*

*DAO:*

*
*

public class EventoDAOImpl implements EventoDAO {

        private final transient Logger log = 
Logger.getLogger(EventoDAOImpl.class);
        

        @Inject private Provider<EntityManager> entityManager;
        
        public EntityManager save(Evento object) {
                return entityManager.get();
        }

}

*
*

The method save return an error.


Thnks

*
*

*
*

-- 
You received this message because you are subscribed to the Google Groups 
"google-guice" group.
To view this discussion on the web visit 
https://groups.google.com/d/msg/google-guice/-/LvUn4p3OVkYJ.
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