Hi Ganish, were you (or anyone else) able to figure out how to get this 
working?
Oddly enough, when I only have one async call, 
the com.google.inject.servlet.RequestScoped does not have an issue. It's 
only when I add a second async call and link it with the first one using 
thenCombine, do I run into 

[java] com.google.inject.ProvisionException: Unable to provision, see the 
following errors: [java] [java] 1) [Guice/ErrorInCustomProvider]: 
OutOfScopeException: Cannot access Key[type=FooContext, annotation=[none]] 
outside of a scoping block [java] at 
BarModule.createFooContext(BarModule.java:1111) [java] while locating 
FooContext [java] [java] Learn more: [java] 
https://github.com/google/guice/wiki/ERROR_IN_CUSTOM_PROVIDER [java] [java] 
1 error 
I tried following https://stackoverflow.com/a/33945302/23282628 but I just 
get "Not in a request scope" error as a result when trying to use 
ServletScopes.transferRequest
On Saturday 13 May 2017 at 17:28:47 UTC-5 Ganesh J wrote:

> Hi
>
>
> We are using Guice 4.1 in out Jetty based web applications. We are 
> exposing APIs through jersey 1.19.3. We are using 
> com.google.inject.servlet.GuiceFilter in our web.xml to intercept all 
> requests. Now we do have couple of request scopes beans defined. Also we 
> have within a single request processing flow multiple thread hops: Main 
> Jetty thread -> FIrst thread -> Second thread. Request scope objects are 
> injected using Provider to classes that are invoked from second thread. So 
> to make that work we wrapped the callable submitted to first thread using 
> ServletScopes.transferRequest. The to transfer scope to second tread we 
> tried wrapping callable submitted to second thread by 
> ServletScopes.transferRequest. Now when this is executed the execution is 
> blocked. When we referred to the javadoc for ServletScopes.transferRequest
>
>
> "Because request-scoped objects are not typically thread-safe, the 
> callable returned by this method must not be run on a different thread 
> until the current request scope has terminated. The returned callable will 
> block until the current thread has released the request scope."
>
>
> It is a bit confusing why this is happening only to the second callable. 
> The argument of thread safety can also be made for the first callable.
>
>
> We are kind of stuck here. Any suggestions on the right approach to 
> propagate scope would help immensely here
>
>
> Thanks
> Ganesh
>

-- 
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 view this discussion on the web visit 
https://groups.google.com/d/msgid/google-guice/5a6f7928-a5d5-4f26-b24b-de342d1e7ee7n%40googlegroups.com.

Reply via email to