If your @Provider does not have @Singleton, Guice will call the provider
for every instance it is asked for and run whatever code is defined.

Doing a 'new' (or anything else for that matter) inside the provider is
outside Guice's scope, unless you are interacting with the @Injector
directly.  Guice must manage the object lifecycle.

What I don't know is if Guice looks for and honors the @Singleton
annotation on the class itself or whether it must be defined as singleton
via the bindings.


On Fri, Apr 12, 2013 at 2:34 PM, Alper Akture <[email protected]>wrote:

> I have an @Provides method in a module that creates an object for me, and
> the class of that object has @Singleton on it. I found that merely having
> the @Singleton on the class does not enforce a single instance being
> created. After adding @Singleton to the @Provider method, I do get a single
> instance. Even though I am doing a "new" on the object in my provider
> method, couldn't Guice see that the @Provider method is creating it, and do
> the same thing it does (keep a single instance handy and give it out when
> requested) when having the @Singleton on the provider method?
>
> --
> 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 post to this group, send email to [email protected].
> Visit this group at http://groups.google.com/group/google-guice?hl=en.
> For more options, visit https://groups.google.com/groups/opt_out.
>
>
>



-- 
Jeff Vincent
See my LinkedIn profile at:
http://www.linkedin.com/in/rjeffreyvincent
I ♥ DropBox <http://db.tt/9O6LfBX> !!

-- 
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 post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/google-guice?hl=en.
For more options, visit https://groups.google.com/groups/opt_out.


Reply via email to