使用Java 8的App Engine中的Firebase Admin SDK

时间:2017-07-09 06:33:41

标签: google-app-engine firebase java-8 firebase-admin

以前,Firebase Admin SDK无法在App Engine上运行并具有自动缩放功能。可能它会创建一些线程,Thread类或类似的东西不会列入白名单。

现在Google已经在App Engine上支持Java 8(并删除了白名单),这个问题会不会消失? Firebase Admin SDK是否可以在App Engine上自动扩展?

1 个答案:

答案 0 :(得分:1)

Firebase Admin SDK仍然无法在AppEngine Java 8运行时工作,无需手动扩展,原因如下:

  1. Java 8运行时中可用的线程支持有一些限制。例如,任何未使用AppEngine的ThreadManager接口创建的线程都无法调用AppEngine API。这意味着这些线程无法拨打网络电话。
  2. SDK中的数据库客户端代码会产生长时间运行的线程。在AppEngine环境中执行此操作的唯一方法是通过后台线程支持。 SDK在AppEngine中部署时专门查找此功能。我已经尝试放宽了这个要求来运行SDK,但它不起作用。即使在新的Java 8运行时,似乎请求范围的线程也不能超过请求。
  3. 但是,您应该能够在AppEngine中使用FirebaseAuth界面(用于自定义令牌创建,ID令牌验证和用户管理),而无需手动扩展。 SDK的这一部分支持在请求范围的线程上运行。