java.lang.NullPointerException
at com.google.inject.persist.jpa.JpaPersistService.begin(
JpaPersistService.java:77)
at com.google.inject.persist.jpa.JpaLocalTxnInterceptor.invoke(
JpaLocalTxnInterceptor.java:53)
at com.eckertcaine.bridge.guice.BridgeGuiceServletContextListener.
contextInitialized(AppGuiceServletContextListener.java:60)
at org.mortbay.jetty.handler.ContextHandler.startContext(
ContextHandler.java:548)
at org.mortbay.jetty.servlet.Context.startContext(Context.java:136)
at org.mortbay.jetty.webapp.WebAppContext.startContext(WebAppContext
.java:1234)
at org.mortbay.jetty.handler.ContextHandler.doStart(ContextHandler.
java:517)
at org.mortbay.jetty.webapp.WebAppContext.doStart(WebAppContext.java
:460)
at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.
java:50)
at org.mortbay.jetty.handler.HandlerWrapper.doStart(HandlerWrapper.
java:130)
at org.mortbay.jetty.Server.doStart(Server.java:222)
at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.
java:50)
at com.eckertcaine.bridge.Start.start(Start.java:126)
at com.eckertcaine.bridge.Start.main(Start.java:194)
Follows my servlet context listener:
package com.app.guice;
import javax.servlet.ServletContext;
import javax.servlet.ServletContextEvent;
import org.mortbay.jetty.Server;
import com.app.setup.AppLifeCycle;
import com.google.inject.Guice;
import com.google.inject.Injector;
import com.google.inject.Provides;
import com.google.inject.Singleton;
import com.google.inject.servlet.GuiceServletContextListener;
public class AppGuiceServletContextListener extends
GuiceServletContextListener {
private AppLifeCycle appLifeCycle;
private Server server;
private ServletContext servletContext;
private Injector injector;
public AppGuiceServletContextListener(Server server) {
super();
this.server = server;
}
@Override
public void contextDestroyed(ServletContextEvent ctx) {
super.contextDestroyed(ctx);
if (appLifeCycle != null) {
appLifeCycle.destroy();
}
}
@Override
public void contextInitialized(ServletContextEvent
servletContextEvent) {
servletContext = servletContextEvent.getServletContext();
super.contextInitialized(servletContextEvent);
appLifeCycle = injector.getInstance(AppLifeCycle.class);
appLifeCycle.init(servletContext);
}
@Provides
@Singleton
Server provideServer(Injector injector) {
final Server server = this.server;
injector.injectMembers(server);
return server;
}
@Override
protected Injector getInjector() {
if (injector == null)
injector = Guice.createInjector(new MainModule(
String.format("%s/WEB-INF/app", servletContext.getRealPath("/")),
servletContext));
return injector;
}
}
the line that points the error on the context listener is appLifeCycle.init(
servletContext);
On Friday, December 1, 2017 at 7:44:45 PM UTC-2, scl wrote:
>
> Can you please give more of the stack trace (all of it).
> Because the cause of this NPE is different depending on where the call
> comes from.
>
> On 01.12.2017 20:27, Diogo Luzzardi de Carvalho wrote:
>
> The following exception is ocorring for me:
>
> java.lang.NullPointerException
>
> at com.google.inject.persist.jpa.JpaPersistService.begin(
> JpaPersistService.java:77)
>
> at com.google.inject.persist.jpa.JpaLocalTxnInterceptor.invoke(
> JpaLocalTxnInterceptor.java:53)
>
> Follows my persistence.xml:
>
> <?xml version="1.0" encoding="UTF-8"?>
>
> <persistence xmlns="http://java.sun.com/xml/ns/persistence"
> <http://www.google.com/url?q=http%3A%2F%2Fjava.sun.com%2Fxml%2Fns%2Fpersistence&sa=D&sntz=1&usg=AFQjCNFVn-Ui0kpX_x57k_rRpCqNI5wg3A>
>
> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
> <http://www.w3.org/2001/XMLSchema-instance>
>
> xsi:schemaLocation="http://java.sun.com/xml/ns/persistence
>
> http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd"
>
> version="1.0">
>
>
>
> <!-- A JPA Persistence Unit -->
>
> <persistence-unit name="persistence.unit"
>
> transaction-type="RESOURCE_LOCAL">
>
> <provider>org.hibernate.jpa.HibernatePersistenceProvider</
> provider>
>
>
>
> <!-- JPA entities must be registered here -->
>
> <!--<class>com.wideplay.warp.jpa.JpaTestEntity</class> -->
>
> </persistence-unit>
>
>
>
> </persistence>
>
> follows the configuration code:
>
> persistModule = new JpaPersistModule(PERSISTENCE_UNIT_NAME);
>
> install(persistModule);
>
> bind(org.hibernate.Session.class).toProvider(new SessionProvider());
>
> filter("/*").through(PersistFilter.class);
>
>
> can anyone point me what I'm doing wrong?
>
> regards
> Diogo
> --
> You received this message because you are subscribed to the Google Groups
> "google-guice" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to [email protected] <javascript:>.
> To post to this group, send email to [email protected]
> <javascript:>.
> Visit this group at https://groups.google.com/group/google-guice.
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/google-guice/fd020b11-2a91-4656-9c49-6f5b0fef744e%40googlegroups.com
>
> <https://groups.google.com/d/msgid/google-guice/fd020b11-2a91-4656-9c49-6f5b0fef744e%40googlegroups.com?utm_medium=email&utm_source=footer>
> .
> For more options, visit https://groups.google.com/d/optout.
>
>
>
--
You received this message because you are subscribed to the Google Groups
"google-guice" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To post to this group, send email to [email protected].
Visit this group at https://groups.google.com/group/google-guice.
To view this discussion on the web visit
https://groups.google.com/d/msgid/google-guice/5e2af91c-af64-4b65-8f72-bf4e74499ff1%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.