java - Google App Engine 中的 Firebase 初始化错误

标签 java google-app-engine firebase google-cloud-endpoints

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

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

Firebase ref = new Firebase(<My Firebase URL>);

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)

我使用的是 Firebase 客户端 2.2.3。似乎 GAE 不允许应用程序创建新线程。有什么想法吗?

最佳答案

在 Google App Engine 的 Java 运行时中,对创建新线程有一些限制。

请参阅the Threads section了解详情。

关于java - Google App Engine 中的 Firebase 初始化错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29475272/

相关文章:

java - Listview cacheColorHint 有问题吗?

java - 如何在Java命名参数jdbc模板批量更新插入查询中映射具有特殊字符的列?

java - opc UA 服务器重新启动时未创建 eclipse milo session

没有事务的 Java Google Appengine 分片计数器

node.js - 如何从 Firebase 函数中为 Google 上的 Actions 调用第三方 Rest API

java - 在 Java 中存储三个值的数组

java - AppEngine 持久对象延迟?

python - 按非ascii字符查询

ios - 无法完成 dSYM 的提交,文件不再存在于 (null)

ios - [Firebase/Core][I-COR000003] 尚未配置默认 Firebase 应用