I have a Wave Robot (which is HttpServlet ) deployed to AppEngine
The robot mapped by Guice to serve on specific url, the robot also
receives injections from Guice.
@Singleton
public class ForumBotty extends AbstractRobot {
@Inject
  public ForumBotty(Injector injector, Util util, ForumPostDao
forumPostDao,
      AdminConfigDao adminConfigDao, UserNotificationDao
userNotificationDao) {
    this.injector = injector;
    this.util = util;
    this.forumPostDao = forumPostDao;
    this.userNotificationDao = userNotificationDao;
    this.adminConfigDao = adminConfigDao;

    OAUTH_TOKEN = System.getProperty("OAUTH_TOKEN");
    OAUTH_KEY = System.getProperty("OAUTH_KEY");
    OAUTH_SECRET = System.getProperty("OAUTH_SECRET");
    SECURITY_TOKEN = System.getProperty("SECURITY_TOKEN");
    DIGEST_WAVE_DOMAIN = System.getProperty("DIGEST_WAVE_DOMAIN");
    DIGEST_WAVE_ID = System.getProperty("DIGEST_WAVE_ID");

    initOauth();
  }
//more stuff
}
Whenever this robot receives an event - I see the exception below in
the application log on appengine. How can it be fixed?

com.google.inject.internal.FinalizableReferenceQueue <init>: Failed to
start reference finalizer thread. Reference cleanup will only occur
when new references are created.
java.lang.reflect.InvocationTargetException
        at
com.google.appengine.runtime.Request.process-0e64cc98a6c1b70c(Request.java)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
        at java.lang.reflect.Method.invoke(Unknown Source)
        at java.security.AccessController.doPrivileged(Native Method)
        at
com.google.apphosting.runtime.security.shared.intercept.java.lang.reflect.Method_.privilegedInvoke(Method_.java:
163)
        at
com.google.apphosting.runtime.security.shared.intercept.java.lang.reflect.Method_.invoke_(Method_.java:
124)
        at
com.google.apphosting.runtime.security.shared.intercept.java.lang.reflect.Method_.invoke(Method_.java:
43)
        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.InjectorImpl.createJustInTimeBinding(InjectorImpl.java:
645)
        at
com.google.inject.InjectorImpl.createJustInTimeBindingRecursive(InjectorImpl.java:
581)
        at
com.google.inject.InjectorImpl.getJustInTimeBinding(InjectorImpl.java:
172)
        at com.google.inject.InjectorImpl.getBindingOrThrow(InjectorImpl.java:
132)
        at
com.google.inject.InjectorImpl.getInternalFactory(InjectorImpl.java:
651)
        at com.google.inject.FactoryProxy.notify(FactoryProxy.java:48)
        at
com.google.inject.BindingProcessor.runCreationListeners(BindingProcessor.java:
230)
        at
com.google.inject.InjectorBuilder.initializeStatically(InjectorBuilder.java:
131)
        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.google.forumbotty.guice.GuiceServletConfig.getInjector(GuiceServletConfig.java:
87)
        at
com.google.inject.servlet.GuiceServletContextListener.contextInitialized(GuiceServletContextListener.java:
43)
        at
org.mortbay.jetty.handler.ContextHandler.startContext(ContextHandler.java:
548)
        at org.mortbay.jetty.servlet.Context.startContext(Context.java:136)
        at
org.mortbay.jetty.webapp.WebAppContext.startContext(WebAppContext.java:
1250)
        at
org.mortbay.jetty.handler.ContextHandler.doStart(ContextHandler.java:
517)
        at org.mortbay.jetty.webapp.WebAppContext.doStart(WebAppContext.java:
467)
        at
org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:
50)
        at
com.google.apphosting.runtime.jetty.AppVersionHandlerMap.createHandler(AppVersionHandlerMap.java:
191)
        at
com.google.apphosting.runtime.jetty.AppVersionHandlerMap.getHandler(AppVersionHandlerMap.java:
168)
        at
com.google.apphosting.runtime.jetty.JettyServletEngineAdapter.serviceRequest(JettyServletEngineAdapter.java:
123)
        at
com.google.apphosting.runtime.JavaRuntime.handleRequest(JavaRuntime.java:
250)
        at com.google.apphosting.base.RuntimePb$EvaluationRuntime
$6.handleBlockingRequest(RuntimePb.java:5838)
        at com.google.apphosting.base.RuntimePb$EvaluationRuntime
$6.handleBlockingRequest(RuntimePb.java:5836)
        at
com.google.net.rpc.impl.BlockingApplicationHandler.handleRequest(BlockingApplicationHandler.java:
24)
        at com.google.net.rpc.impl.RpcUtil.runRpcInApplication(RpcUtil.java:
398)
        at com.google.net.rpc.impl.Server$2.run(Server.java:852)
        at
com.google.tracing.LocalTraceSpanRunnable.run(LocalTraceSpanRunnable.java:
56)
        at
com.google.tracing.LocalTraceSpanBuilder.internalContinueSpan(LocalTraceSpanBuilder.java:
576)
        at com.google.net.rpc.impl.Server.startRpc(Server.java:807)
        at com.google.net.rpc.impl.Server.processRequest(Server.java:369)
        at
com.google.net.rpc.impl.ServerConnection.messageReceived(ServerConnection.java:
442)
        at
com.google.net.rpc.impl.RpcConnection.parseMessages(RpcConnection.java:
319)
        at
com.google.net.rpc.impl.RpcConnection.dataReceived(RpcConnection.java:
290)
        at com.google.net.async.Connection.handleReadEvent(Connection.java:
474)
        at
com.google.net.async.EventDispatcher.processNetworkEvents(EventDispatcher.java:
831)
        at
com.google.net.async.EventDispatcher.internalLoop(EventDispatcher.java:
207)
        at com.google.net.async.EventDispatcher.loop(EventDispatcher.java:
103)
        at
com.google.net.rpc.RpcService.runUntilServerShutdown(RpcService.java:
251)
        at com.google.apphosting.runtime.JavaRuntime
$RpcRunnable.run(JavaRuntime.java:413)
        at java.lang.Thread.run(Unknown Source)
Caused by: java.security.AccessControlException: access denied
(java.lang.RuntimePermission modifyThreadGroup)
        at
java.security.AccessControlContext.checkPermission(AccessControlContext.java:
355)
        at
java.security.AccessController.checkPermission(AccessController.java:
567)
        at java.lang.SecurityManager.checkPermission(Unknown Source)
        at java.lang.ThreadGroup.checkAccess(Unknown Source)
        at java.lang.Thread.init(Unknown Source)
        at java.lang.Thread.<init>(Unknown Source)
        at com.google.inject.internal.Finalizer.<init>(Finalizer.java:92)
        at com.google.inject.internal.Finalizer.startFinalizer(Finalizer.java:
81)
        ... 76 more

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