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 <[email protected]> wrote:
> have u declared PostalManager as @Singleton.
>
> On Fri, Jun 11, 2010 at 12:42 PM, KasperDK <[email protected]> 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
>> [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-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 [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-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 [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-appengine-java?hl=en.