如何在Java REST API中初始化Firebase Admin SDK?

时间:2019-02-21 07:45:56

标签: java rest firebase jersey

我正在通过Jersy使用Java开发REST API。 REST API将由Fluttervmobile应用程序使用。

我决定在我的应用程序中使用Firebase。因此,移动应用将使用Firebase身份验证。但是,Firebase函数目前仅用于对用户进行身份验证,所有其他数据都位于可通过REST API访问的MySQL数据库中。

现在,我根据此链接安装了Firebase Admin SDK-https://firebase.google.com/docs/admin/setup

下面是初始化应用的代码

try
        {
            ClassLoader classLoader = Thread.currentThread().getContextClassLoader();
            InputStream serviceAccount = classLoader.getResourceAsStream("xxxxxx.json");

            FirebaseOptions options = new FirebaseOptions.Builder()
                .setCredentials(GoogleCredentials.fromStream(serviceAccount))
                .build();

            FirebaseApp.initializeApp(options);
        }
        catch(IOException io)
        {
            io.printStackTrace();
        }

我的问题是,应将此代码放在哪个类中?我可以使用其余的过滤器类来验证Firebase发送的令牌,并同时对其进行初始化。但这意味着如果我收到100万个请求,Firebase将被初始化100万次!

我该如何解决?

1 个答案:

答案 0 :(得分:1)

对于每个需要访问的项目,每个过程只需初始化一次Firebase Admin SDK。如果您只有一个进程和一个项目要访问,请在首次使用该进程时对其进行一次初始化。