KnowledgeHub
Questions
Tags
Users
Search
Alex Rivera
|
Logout
Edit Question
Title
Body
I have a provider method in a module annotated with @Provides : @Provides public ChatServicePerformanceMonitor getChatServicePerfMon() { ... } and I have annotated my ChatServicePerformanceMonitor with @Singleton . In my code, where I use this instance, I can't have guice "passively" inject it, due to a framework I'm using that's constructing the enclosing class (it does not use Guice, so this is the only way I know of to get the reference): chatServicePerfMon = injector.getInstance(ChatServicePerformanceMonitor.class); It seems Guice does not respect the @Singleton annotation on my ChatServicePerformanceMonitor class. I get an instance for every call to injector.getInstance(ChatServicePerformanceMonitor.class). Adding the @Singleton to the provider method seems to fix this: @Provides @Singleton public ChatServicePerformanceMonitor getChatServicePerfMon() { ... } Is that the expected behavior? It seems an @Singleton on the instance should be all I would need.
Tags (comma-separated)
Save Edits
Cancel