Well the subject tells it all, but here are some details. I have root module: RootModule and child module: ChildModule. I create root injector from RootModule and two child injectors from ChildModule. Every ChildModule defines its own scope, say ChildScope. So I annotate some components with ChildScoped. If a component has injectable dependencies (has constructor with Inject and with parameters) then it all works as it should, the components are created in a child injector and added to the scope. The problem starts if a components (annotated with ChildScope) has constructor with no arguments or if all its dependencies are from root injector. I think in this case Guice thinks that it can create it in root injector, but there is no ChildScope in root injector, so the component gets created everytime it is asked.
I can fix it by specifying .in(scope) for this component, but I already annotated the component with ChildScoped once. Why should I specify the same info again? I guess the more general question is how can I force a component to be created in child injector? Thank you! --~--~---------~--~----~------------~-------~--~----~ 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 -~----------~----~----~----~------~----~------~--~---
