I'm using Guice on a restful web service. I'm binding some object
instances as RequestScoped. One of these objects is a Runnable object
that I want to run inside a Thread. The problem is that the object
being inside a thread, Guice fails to inject some dependencies by
throwing an OutOfScopeException. The Runnable object and its
dependencies are injected well, but I have some object that I'm
injecting manually inside the thread by Injector.injectMembers,
because I can't control its creation.

Something like :

//A is RequestScoped
Class A implements Runnable{
   //B is RequestScoped
   B b;
   C c;

  @Inject
  Injector injector

  @Inject
  A(B b){
    this.b = b
  }
...
  public void run(){
    //c is an instance of C created before
    injector.injectMembers(c)
  }

}

Class C{
   @Inject
   B b;
   ...
}

Since the injection occurs inside the thread Guice isn't able to
inject dependencies throwing the mentioned OutOfScopeException.
What would be the workaround, knowing that I must inject the instance
manually after instantiating all other objects.

Any help would be greatly appreciated.

-- 
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.

Reply via email to