Thanks Adrian, Although I may not have explained the question properly.
I am not running unit tests. Here's what happens: Guice starts up, it runs module configuration. While it is running module configuration, it comes across the following: bind(Query.class).annotatedWith(Names.named("PersonQuery")) .toProvider(new Provider<Query>(){ @Override public Query get() { return new Query(Person.kind); } }); The problem is that the call: new Query(..) is dependent on ApiProxy.Environment. BUT, because the Module is not a servlet, the thread that runs it does not have an instance of ApiProxy.Environment sent. Hence the error: 1) Error in custom provider, java.lang.NullPointerException: No API environment is registered for this thread. while locating com.google.appengine.api.datastore.Query annotated with @com.google.inject.name.Named(value=PersonQuery) What I need to do is inside the module, inside public void configure (), something to the tune of ApiProxy.setEnvironmentForCurrentThread (<some environment>) . This is production code, I don't know where to get <some environment> from. Tristan On Nov 19, 2:01 pm, Adrian Cole <fernc...@gmail.com> wrote: > guice (even trunk) most certainly works in gae. This looks like a > problem in your unit test. There's setup needed per gae docs. > > http://code.google.com/appengine/docs/java/howto/unittesting.html > > Cheers, > Adrian > jclouds > > On Wed, Nov 18, 2009 at 1:07 PM, Tristan <tristan.slomin...@gmail.com> wrote: > > I should clarify that the problem occurs in local Development Mode. I > > am yet to put it on GAE itself. > > > On Nov 18, 2:58 pm, Tristan <tristan.slomin...@gmail.com> wrote: > >> On Google App Engine, > > >> When attempting to do the following in a Module: > > >> bind(Query.class).annotatedWith(Names.named("PersonQuery")) > >> .toProvider(new Provider<Query>(){ > >> @Override > >> public Query get() { > >> return new Query(Person.kind); > >> } > >> }); > > >> I get the following error: > > >> 1) Error in custom provider, java.lang.NullPointerException: No API > >> environment is registered for this thread. > >> while locating com.google.appengine.api.datastore.Query annotated > >> with @com.google.inject.name.Named(value=PersonQuery) > > >> Is Guice unable to use the Google App Engine API Environment? > > >> -Tristan > > > -- > > > You received this message because you are subscribed to the Google Groups > > "google-guice" group. > > To post to this group, send email to google-gu...@googlegroups.com. > > To unsubscribe from this group, send email to > > google-guice+unsubscr...@googlegroups.com. > > For more options, visit this group > > athttp://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 google-gu...@googlegroups.com. To unsubscribe from this group, send email to google-guice+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-guice?hl=.