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.

Reply via email to