Google App Engine中的Firebase初始化错误

Tom*_*Siu 5 java google-app-engine firebase google-cloud-endpoints

我现在正在GAE中开发一个Java Google云端点.在端点内部,它将尝试连接到Firebase服务器以获取一些数据.

但是,当我在端点中创建Firebase对象时,

Firebase ref = new Firebase(<My Firebase URL>);
Run Code Online (Sandbox Code Playgroud)

GAE抛出以下错误:

java.security.AccessControlException: access denied ("java.lang.RuntimePermission" "modifyThreadGroup") 
    at java.security.AccessControlContext.checkPermission(AccessControlContext.java:382) 
    at java.security.AccessController.checkPermission(AccessController.java:572) 
    at java.lang.SecurityManager.checkPermission(SecurityManager.java:549) 
    at java.lang.ThreadGroup.checkAccess(ThreadGroup.java:315) 
    at java.lang.Thread.init(Thread.java:391) 
    at java.lang.Thread.init(Thread.java:349) 
    at java.lang.Thread.<init>(Thread.java:675) 
    at java.util.concurrent.Executors$DefaultThreadFactory.newThread(Executors.java:572) 
    at com.firebase.client.utilities.DefaultRunLoop$FirebaseThreadFactory.newThread(DefaultRunLoop.java:25) 
    at java.util.concurrent.ThreadPoolExecutor$Worker.<init>(ThreadPoolExecutor.java:600) 
    at java.util.concurrent.ThreadPoolExecutor.addWorker(ThreadPoolExecutor.java:943) 
    at java.util.concurrent.ThreadPoolExecutor.ensurePrestart(ThreadPoolExecutor.java:1635) 
    at java.util.concurrent.ScheduledThreadPoolExecutor.delayedExecute(ScheduledThreadPoolExecutor.java:307) 
    at java.util.concurrent.ScheduledThreadPoolExecutor.schedule(ScheduledThreadPoolExecutor.java:526) 
    at java.util.concurrent.ScheduledThreadPoolExecutor.execute(ScheduledThreadPoolExecutor.java:615) 
    at com.firebase.client.utilities.DefaultRunLoop.scheduleNow(DefaultRunLoop.java:57) 
    at com.firebase.client.core.Repo.scheduleNow(Repo.java:176) 
    at com.firebase.client.core.Repo.<init>(Repo.java:58) 
    at com.firebase.client.core.RepoManager.getLocalRepo(RepoManager.java:46) 
    at com.firebase.client.core.RepoManager.getRepo(RepoManager.java:19) 
    at com.firebase.client.Firebase.<init>(Firebase.java:194) 
    at com.firebase.client.Firebase.<init>(Firebase.java:199) 
    at com.firebase.client.Firebase.<init>(Firebase.java:177)
Run Code Online (Sandbox Code Playgroud)

我使用的是Firebase客户端2.2.3.似乎GAE不允许应用程序创建新线程.任何的想法?

Sho*_*hit 2

@ Mario 是正确的,App Engine 应用程序可能不会根据文档生成新线程这是因为 AppEngine 应用程序在沙箱环境中运行,在该环境中您有一些限制。如果您仍然想在没有任何限制的情况下开发应用程序,那么我建议尝试托管虚拟机,其中没有这些类型的限制。