Obecnie rozwijam punkt końcowy Chmury Google w java w GAE. Wewnątrz punktu końcowego spróbuje połączyć się z serwerem Firebase, aby uzyskać dane.Błąd inicjacji Firebase w Google App Engine
Jednak, kiedy utworzyć Firebase obiekt w moim końcowego,
Firebase ref = new Firebase(<My Firebase URL>);
GAE wyrzuca następujący błąd:
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)
Używam Firebase klienta 2.2.3. Wygląda na to, że GAE nie zezwala aplikacji na tworzenie nowych wątków. Dowolny pomysł?
Rzeczywiście można uruchomić wątki za pomocą skalowania podstawową lub ręcznego, bez przechodzenia przez wszystkich kłopotów ustalania zarządzanego VM, jedynym ograniczeniem jest na automatycznym skalowaniem: https://cloud.google.com/appengine/docs/ java/modules/# Java_Background_threads –