It is valid, so long as you call provider.get() inside an HTTP request. If you step back a moment and look at this without Guice in the picture, just imagine what it means to have access to the session when there is no request running--it is rather meaningless (who's session is it?). What Guice does is let you make this a lazy reference (using Providers) so that you can still inject it but only use it when inside a request.
Does that make it clearer? Dhanji. On Tue, Sep 1, 2009 at 9:53 AM, Christian Goudreau < [email protected]> wrote: > Does that mean that the solution Chris gave me isn't valid ? > > Christian > > On Mon, Aug 31, 2009 at 7:41 PM, Dhanji R. Prasanna <[email protected]>wrote: > >> If your object is created outside a request, the session will not be >> available =( >> Dhanji. >> >> >> On Tue, Sep 1, 2009 at 9:04 AM, Christian Goudreau < >> [email protected]> wrote: >> >>> No, but I got my answer from Chris Lowe >>> >>> public class SomeHandler implements ActionHandler<YourAction, YourResult> >>> { >>> >>> private final Provider<HttpSession> httpSession; >>> >>> @Inject >>> public SomeHandler(final Provider<HttpSession> httpSession) { >>> this.httpSession = httpSession; >>> } >>> >>> >>> @Override >>> public YourResult execute(final YourAction action, final >>> ExecutionContext context) throws ActionException { >>> Object value = httpSession.get().getAttribute("valuename"); >>> } >>> >>> } >>> >>> I think I wasn't looking the right way at all. LOL >>> >>> Christian >>> >>> On Mon, Aug 31, 2009 at 6:58 PM, Max Bowsher <[email protected]> wrote: >>> >>>> Damob wrote: >>>> > I don't know what I'm missing here or if it's because I'm using gwt- >>>> > Dispatch but, do I need to write something in the module class to get >>>> > it work ? I keep getting : >>>> > >>>> > 1) Error in custom provider, com.google.inject.OutOfScopeException: >>>> > Cannot access scoped object. Either we are not currently inside an >>>> > HTTP Servlet request, or you may have forgotten to apply >>>> > com.google.inject.servlet.GuiceFilter as a servlet filter for this >>>> > request. >>>> >>>> Well, *have* you forgotten to apply GuiceFilter then? >>>> >>>> Max, >>>> >>>> >>> >>> >>> >> >> >> --~--~---------~--~----~------------~-------~--~----~ 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 -~----------~----~----~----~------~----~------~--~---
