It seems to do no difference if I add the @Singleton to PostalManager or not.
Also, I've tried both; public class MyModule extends AbstractModule { @Override protected void configure() { } } and public class MyModule extends AbstractModule { @Override protected void configure() { bind(PostalManager.class).asEagerSingleton(); } } Any other ideas as to why I get the exception ? Thanks. On Fri, Jun 11, 2010 at 10:10 AM, RAVINDER MAAN <rsmaan...@gmail.com> wrote: > have u declared PostalManager as @Singleton. > > On Fri, Jun 11, 2010 at 12:42 PM, KasperDK <kbhdk1...@gmail.com> wrote: >> >> Hi, >> >> I'm trying to do this; >> >> public class PostalServiceImpl extends RemoteServiceServlet implements >> PostalService { >> private static final Logger log = >> Logger.getLogger(PostalServiceImpl.class.getName()); >> >> �...@inject >> private PostalManager postalManager; >> >> public PostalServiceImpl() { >> Injector injector = Guice.createInjector(new >> NetGazelleModule()); >> >> injector.injectMembers(this); >> } >> >> public String getCity(String postal) { >> log.info("PostalServiceImpl.getCity(" + postal + ")"); >> >> if (postalManager == null) { >> log.severe("PostalServiceImpl.getCity: >> postalManager is null !"); >> } >> >> return postalManager.getCity(postal); >> } >> >> ... >> >> >> But I get the following exception; >> >> INFO: The server is running at http://localhost:8888/ >> Jun 11, 2010 6:38:57 AM >> com.google.inject.internal.FinalizableReferenceQueue <init> >> INFO: Failed to start reference finalizer thread. Reference cleanup >> will only occur when new references are created. >> java.lang.reflect.InvocationTargetException >> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) >> at >> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java: >> 39) >> at >> >> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java: >> 25) >> at java.lang.reflect.Method.invoke(Method.java:597) >> at >> >> com.google.appengine.tools.development.agent.runtime.Runtime.invoke(Runtime.java: >> 100) >> at >> >> com.google.inject.internal.FinalizableReferenceQueue.<init>(FinalizableReferenceQueue.java: >> 124) >> at com.google.inject.internal.MapMaker >> $QueueHolder.<clinit>(MapMaker.java:787) >> at >> com.google.inject.internal.MapMaker$WeakEntry.<init>(MapMaker.java: >> 946) >> at com.google.inject.internal.MapMaker$Strength >> $1.newEntry(MapMaker.java:312) >> at com.google.inject.internal.MapMaker >> $StrategyImpl.newEntry(MapMaker.java:498) >> at com.google.inject.internal.MapMaker >> $StrategyImpl.newEntry(MapMaker.java:419) >> at com.google.inject.internal.CustomConcurrentHashMap >> $ComputingImpl.get(CustomConcurrentHashMap.java:2029) >> at >> com.google.inject.internal.BytecodeGen.getClassLoader(BytecodeGen.java: >> 149) >> at >> com.google.inject.internal.BytecodeGen.getClassLoader(BytecodeGen.java: >> 132) >> at >> com.google.inject.internal.BytecodeGen.newFastClass(BytecodeGen.java: >> 162) >> at com.google.inject.DefaultConstructionProxyFactory >> $1.<init>(DefaultConstructionProxyFactory.java:54) >> at >> >> com.google.inject.DefaultConstructionProxyFactory.create(DefaultConstructionProxyFactory.java: >> 52) >> at com.google.inject.ProxyFactory.create(ProxyFactory.java:152) >> at >> >> com.google.inject.ConstructorInjectorStore.createConstructor(ConstructorInjectorStore.java: >> 84) >> at com.google.inject.ConstructorInjectorStore.access >> $000(ConstructorInjectorStore.java:31) >> at com.google.inject.ConstructorInjectorStore >> $1.create(ConstructorInjectorStore.java:39) >> at com.google.inject.ConstructorInjectorStore >> $1.create(ConstructorInjectorStore.java:35) >> at com.google.inject.internal.FailableCache >> $1.apply(FailableCache.java:35) >> at com.google.inject.internal.MapMaker >> $StrategyImpl.compute(MapMaker.java:549) >> at com.google.inject.internal.MapMaker >> $StrategyImpl.compute(MapMaker.java:419) >> at com.google.inject.internal.CustomConcurrentHashMap >> $ComputingImpl.get(CustomConcurrentHashMap.java:2041) >> at com.google.inject.internal.FailableCache.get(FailableCache.java: >> 46) >> at >> >> com.google.inject.ConstructorInjectorStore.get(ConstructorInjectorStore.java: >> 52) >> at >> >> com.google.inject.ConstructorBindingImpl.initialize(ConstructorBindingImpl.java: >> 57) >> at >> com.google.inject.InjectorImpl.initializeBinding(InjectorImpl.java: >> 377) >> at >> com.google.inject.BindingProcessor$1$1.run(BindingProcessor.java: >> 169) >> at >> >> com.google.inject.BindingProcessor.initializeBindings(BindingProcessor.java: >> 224) >> at >> >> com.google.inject.InjectorBuilder.initializeStatically(InjectorBuilder.java: >> 120) >> at >> com.google.inject.InjectorBuilder.build(InjectorBuilder.java:105) >> at com.google.inject.Guice.createInjector(Guice.java:92) >> at com.google.inject.Guice.createInjector(Guice.java:69) >> at com.google.inject.Guice.createInjector(Guice.java:59) >> at >> >> com.netgazelle.server.service.PostalServiceImpl.<init>(PostalServiceImpl.java: >> 20) >> at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native >> Method) >> at >> >> sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java: >> 39) >> at >> >> sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java: >> 27) >> at java.lang.reflect.Constructor.newInstance(Constructor.java:513) >> at java.lang.Class.newInstance0(Class.java:355) >> at java.lang.Class.newInstance(Class.java:308) >> at org.mortbay.jetty.servlet.Holder.newInstance(Holder.java:153) >> at >> org.mortbay.jetty.servlet.ServletHolder.initServlet(ServletHolder.java: >> 428) >> at >> org.mortbay.jetty.servlet.ServletHolder.getServlet(ServletHolder.java: >> 339) >> at >> org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java: >> 487) >> at org.mortbay.jetty.servlet.ServletHandler >> $CachedChain.doFilter(ServletHandler.java:1166) >> at >> >> com.google.appengine.api.blobstore.dev.ServeBlobFilter.doFilter(ServeBlobFilter.java: >> 51) >> at org.mortbay.jetty.servlet.ServletHandler >> $CachedChain.doFilter(ServletHandler.java:1157) >> at >> >> com.google.apphosting.utils.servlet.TransactionCleanupFilter.doFilter(TransactionCleanupFilter.java: >> 43) >> at org.mortbay.jetty.servlet.ServletHandler >> $CachedChain.doFilter(ServletHandler.java:1157) >> at >> >> com.google.appengine.tools.development.StaticFileFilter.doFilter(StaticFileFilter.java: >> 122) >> at org.mortbay.jetty.servlet.ServletHandler >> $CachedChain.doFilter(ServletHandler.java:1157) >> at >> org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java: >> 388) >> at >> org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java: >> 216) >> at >> org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java: >> 182) >> at >> org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java: >> 765) >> at >> org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java: >> 418) >> at >> >> com.google.apphosting.utils.jetty.DevAppEngineWebAppContext.handle(DevAppEngineWebAppContext.java: >> 70) >> at >> org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java: >> 152) >> at com.google.appengine.tools.development.JettyContainerService >> $ApiProxyHandler.handle(JettyContainerService.java:349) >> at >> org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java: >> 152) >> at org.mortbay.jetty.Server.handle(Server.java:326) >> at >> org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java: >> 542) >> at org.mortbay.jetty.HttpConnection >> $RequestHandler.content(HttpConnection.java:938) >> at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:755) >> at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:218) >> at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404) >> at >> org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java: >> 409) >> at org.mortbay.thread.QueuedThreadPool >> $PoolThread.run(QueuedThreadPool.java:582) >> Caused by: java.security.AccessControlException: access denied >> (java.lang.RuntimePermission modifyThreadGroup) >> at >> >> java.security.AccessControlContext.checkPermission(AccessControlContext.java: >> 323) >> at >> java.security.AccessController.checkPermission(AccessController.java: >> 546) >> at java.lang.SecurityManager.checkPermission(SecurityManager.java: >> 532) >> at com.google.appengine.tools.development.DevAppServerFactory >> $CustomSecurityManager.checkPermission(DevAppServerFactory.java:166) >> at com.google.appengine.tools.development.DevAppServerFactory >> $CustomSecurityManager.checkAccess(DevAppServerFactory.java:191) >> at java.lang.ThreadGroup.checkAccess(ThreadGroup.java:299) >> at java.lang.Thread.init(Thread.java:332) >> at java.lang.Thread.<init>(Thread.java:429) >> at com.google.inject.internal.Finalizer.<init>(Finalizer.java:92) >> at >> com.google.inject.internal.Finalizer.startFinalizer(Finalizer.java: >> 81) >> ... 72 more >> Jun 11, 2010 6:38:57 AM >> com.netgazelle.server.service.PostalServiceImpl getCity >> INFO: PostalServiceImpl.getCity(9999) >> >> It seems like my code is reached anyhow, but I don't like exceptions >> to occur ! :-) Can someone point me to a solution ? >> >> Thanks. >> >> -- >> You received this message because you are subscribed to the Google Groups >> "Google App Engine for Java" group. >> To post to this group, send email to >> google-appengine-j...@googlegroups.com. >> To unsubscribe from this group, send email to >> google-appengine-java+unsubscr...@googlegroups.com. >> For more options, visit this group at >> http://groups.google.com/group/google-appengine-java?hl=en. >> > > > > -- > Regards, > Ravinder Singh Maan > > -- > You received this message because you are subscribed to the Google Groups > "Google App Engine for Java" group. > To post to this group, send email to google-appengine-j...@googlegroups.com. > To unsubscribe from this group, send email to > google-appengine-java+unsubscr...@googlegroups.com. > For more options, visit this group at > http://groups.google.com/group/google-appengine-java?hl=en. > -- You received this message because you are subscribed to the Google Groups "Google App Engine for Java" group. To post to this group, send email to google-appengine-j...@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine-java?hl=en.