2

我正在使用 admin sdk、spring mvc、cloud sql、servlet。我已经完成了openid autentication。但是在处理身份验证时,我遇到了异常。谁能告诉我我需要做什么..?

    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 java.lang.reflect.Method.invoke(Method.java:597)
at com.google.appengine.tools.development.agent.runtime.Runtime.invoke(Runtime.java:115)
at com.google.inject.internal.FinalizableReferenceQueue.<init>(FinalizableReferenceQueue.java:124)
at com.google.inject.internal.MapMaker$QueueHolder.<clinit>(MapMaker.java:787)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:171)

    Caused by: java.security.AccessControlException: access 
     denied  (java.lang.RuntimePermission modifyThreadGroup) 
at java.security.AccessControlContext.checkPermission(AccessControlContext.java:374)
at java.security.AccessController.checkPermission(AccessController.java:549)
at java.lang.SecurityManager.checkPermission(SecurityManager.java:532) 
       at com.google.appengine.tools.development.DevAppServerFactory$CustomSecurityManager.checkPermission(DevAppServerFactory.java:383)
at com.google.appengine.tools.development.DevAppServerFactory$CustomSecurityManager.checkAccess(DevAppServerFactory.java:408)
at java.lang.ThreadGroup.checkAccess(ThreadGroup.java:299)
4

1 回答 1

2

取决于你如何看待它,这是否是一个错误;)Appengine 是一个非常严格的环境,Guice 正在使用旧 Guava 的重新打包版本,它试图执行一些清理任务。但是,在那种环境下这是不可能的,因此会出现错误消息。这确实会消耗一些 CPU,但无论如何您的应用程序应该可以正常运行。

提供的隐藏消息的解决方案是更改这些消息的日志记录级别,方法是Logger.getLogger("com.google.inject.internal.util").setLevel(Level.WARNING);在应用程序启动时运行:

Guice 团队承诺该问题将在即将发布的版本中消失。4.0 目前处于测试阶段,所以问题应该很快就会消失。您也可以自己查看测试版。

有关该问题的更多信息在这里: https ://code.google.com/p/google-guice/issues/detail?id=488

于 2013-11-25T10:54:21.633 回答