Vega
unread,Jun 6, 2010, 2:37:03 PM6/6/10Sign in to reply to author
Sign in to forward
You do not have permission to delete messages in this group
Either email addresses are anonymous for this group or you need the view member email addresses permission to view the original message
to google-guice
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