I'm trying to use server sessions with Dropwizard.  I just need to store 
users' emails that I get from OAuth.  I get the emails and store them in a 
Resource:

Response handleGet(@Context final HttpServletRequest request, @Session 
HttpSession session) {

...


    session.setAttribute("user", u);

...

}


But how do I use/inject @Session or HttpSession with my AuthFilter subclass, 
without it causing an exception?

If I put it in the class as a private field, I get this exception:


Exception in thread "main" javax.servlet.ServletException: 
io.dropwizard.jersey.setup.JerseyServletContainer-c6634d@742729be==io.dropwizard.jersey.setup.JerseyServletContainer,1,false
        at 
org.eclipse.jetty.servlet.ServletHolder.initServlet(ServletHolder.java:661)
        at 
org.eclipse.jetty.servlet.ServletHolder.initialize(ServletHolder.java:419)
        at 
org.eclipse.jetty.servlet.ServletHandler.initialize(ServletHandler.java:875)
        at 
org.eclipse.jetty.servlet.ServletContextHandler.startContext(ServletContextHandler.java:349)
        at 
org.eclipse.jetty.server.handler.ContextHandler.doStart(ContextHandler.java:772)
        at 
org.eclipse.jetty.servlet.ServletContextHandler.doStart(ServletContextHandler.java:262)
        at 
org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:68)
        at 
org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:132)
        at 
org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:106)
        at 
org.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.java:61)
        at 
com.codahale.metrics.jetty9.InstrumentedHandler.doStart(InstrumentedHandler.java:103)
        at 
org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:68)
        at 
org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:132)
        at 
org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:114)
        at 
org.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.java:61)
        at 
org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:68)
        at 
org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:132)
        at 
org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:106)
        at 
org.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.java:61)
        at 
org.eclipse.jetty.server.handler.gzip.GzipHandler.doStart(GzipHandler.java:231)
        at 
org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:68)
        at 
org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:132)
        at 
org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:106)
        at 
org.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.java:61)
        at 
org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:68)
        at 
org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:132)
        at 
org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:106)
        at 
org.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.java:61)
        at 
org.eclipse.jetty.server.handler.StatisticsHandler.doStart(StatisticsHandler.java:252)
        at 
org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:68)
        at 
org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:132)
        at org.eclipse.jetty.server.Server.start(Server.java:411)
        at 
org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:106)
        at 
org.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.java:61)
        at org.eclipse.jetty.server.Server.doStart(Server.java:378)
        at 
org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:68)
        at io.dropwizard.cli.ServerCommand.run(ServerCommand.java:53)
        at io.dropwizard.cli.EnvironmentCommand.run(EnvironmentCommand.java:44)
        at io.dropwizard.cli.ConfiguredCommand.run(ConfiguredCommand.java:85)
        at io.dropwizard.cli.Cli.run(Cli.java:75)
        at io.dropwizard.Application.run(Application.java:79)
        at foobar.Foo.main(FoobarApplication.java:23)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:498)
        at com.intellij.rt.execution.application.AppMain.main(AppMain.java:147)
Caused by: java.lang.IllegalStateException: Not inside a request scope.
        at 
jersey.repackaged.com.google.common.base.Preconditions.checkState(Preconditions.java:173)
        at 
org.glassfish.jersey.process.internal.RequestScope.current(RequestScope.java:233)
        at 
org.glassfish.jersey.process.internal.RequestScope.findOrCreate(RequestScope.java:158)
        at 
org.jvnet.hk2.internal.MethodInterceptorImpl.internalInvoke(MethodInterceptorImpl.java:89)
        at 
org.jvnet.hk2.internal.MethodInterceptorImpl.invoke(MethodInterceptorImpl.java:125)
        at 
org.jvnet.hk2.internal.MethodInterceptorInvocationHandler.invoke(MethodInterceptorInvocationHandler.java:62)
        at com.sun.proxy.$Proxy64.getSession(Unknown Source)
        at 
io.dropwizard.jersey.sessions.HttpSessionFactory.provide(HttpSessionFactory.java:23)
        at 
io.dropwizard.jersey.sessions.HttpSessionFactory.provide(HttpSessionFactory.java:9)
        at 
org.glassfish.jersey.server.internal.inject.ParamInjectionResolver.resolve(ParamInjectionResolver.java:134)
        at org.jvnet.hk2.internal.Utilities.justInject(Utilities.java:941)
        at 
org.jvnet.hk2.internal.ServiceLocatorImpl.inject(ServiceLocatorImpl.java:980)
        at 
org.jvnet.hk2.internal.ServiceLocatorImpl.inject(ServiceLocatorImpl.java:970)
        at foo.Bar.AuthenticatorFeature.configure(AuthenticatorFeature.java:31)
        at 
org.glassfish.jersey.model.internal.CommonConfig.configureFeatures(CommonConfig.java:730)
        at 
org.glassfish.jersey.model.internal.CommonConfig.configureMetaProviders(CommonConfig.java:648)
        at 
org.glassfish.jersey.server.ResourceConfig.configureMetaProviders(ResourceConfig.java:829)
        at 
org.glassfish.jersey.server.ApplicationHandler.initialize(ApplicationHandler.java:453)
        at 
org.glassfish.jersey.server.ApplicationHandler.access$500(ApplicationHandler.java:184)
        at 
org.glassfish.jersey.server.ApplicationHandler$3.call(ApplicationHandler.java:350)
        at 
org.glassfish.jersey.server.ApplicationHandler$3.call(ApplicationHandler.java:347)
        at org.glassfish.jersey.internal.Errors.process(Errors.java:315)
        at org.glassfish.jersey.internal.Errors.process(Errors.java:297)
        at 
org.glassfish.jersey.internal.Errors.processWithException(Errors.java:255)
        at 
org.glassfish.jersey.server.ApplicationHandler.<init>(ApplicationHandler.java:347)
        at 
org.glassfish.jersey.servlet.WebComponent.<init>(WebComponent.java:392)
        at 
org.glassfish.jersey.servlet.ServletContainer.init(ServletContainer.java:177)
        at 
org.glassfish.jersey.servlet.ServletContainer.init(ServletContainer.java:369)
        at javax.servlet.GenericServlet.init(GenericServlet.java:244)
        at 
org.eclipse.jetty.servlet.ServletHolder.initServlet(ServletHolder.java:640)
        ... 46 more

Process finished with exit code 1


Thanks

-- 
You received this message because you are subscribed to the Google Groups 
"dropwizard-user" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to