Seems like a standard case, as in:

bind(NoSqlEntityManager.class)
  .toProvider(new Provider<NoSqlEntityManager>() {
     @Override public NoSqlEntityManager get() {
         NoSqlMgrFactory factory = NoSqlPersistence.createMgrFactory();
         return factory.createMgr();
    }
   }).in(Singleton.class);

or

@Provides @Singleton provideNoSqlEntityManager() {
     NoSqlMgrFactory factory = NoSqlPersistence.createMgrFactory();
     return factory.createMgr();
}

Fred

On Fri, Mar 25, 2011 at 2:43 PM, deanhiller <[email protected]>wrote:

> Throughout our program on top of Gemfire we have many objects with
> this field
>
> @Inject
> private NoSqlEntityManager map;
>
> Now, this code generates an instance we want bound to that interface
>
>      NoSqlMgrFactory factory = NoSqlPersistence.createMgrFactory();
>      NoSQLEntityManager mgr = factory.createMgr();
>
> BUT BUT BUT, we cannot call these methods in the Guice Module
> configure method!!!!  We can only call these methods AFTER the
> Guice.injector() call returns.  Is there a way in the Module, I can
> bind a Provider that will create this SINGLE instance of my
> NoSQLEntityManager at a later time(after the Injector is fully
> realized)??
>
> MORE Detail on why if you need: createMgrFactory scans all classes for
> annotations and sets up listeners that the application developer wrote
> that have Guice dependency on them, and the injector is called in
> those so if createMgrFactory is in the Guice Module, the app
> developers get a NullPointer since there is no injector yet.
>
> thanks,
> Dean
>
> --
> 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.
>
>

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