我正在通过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万次!
我该如何解决?
答案 0 :(得分:1)
对于每个需要访问的项目,每个过程只需初始化一次Firebase Admin SDK。如果您只有一个进程和一个项目要访问,请在首次使用该进程时对其进行一次初始化。