如何解决Firebase admin sdk setValue 和 setValueAsync 永远不会完成
我正在尝试使用 firebase admin sdk 写入我的实时数据库。 我在用。但由于某种原因,请求没有执行。我正在使用 Scala。但我觉得它也与 java 相关,因为我刚刚将 java 代码转换为 scala。
<dependency>
<groupId>com.google.firebase</groupId>
<artifactId>firebase-admin</artifactId>
<version>7.3.0</version>
</dependency>
我已正确设置 GOOGLE_APPLICATION_CREDENTIALS
并且它的 auth 部分有效。我也将数据库的规则设置为,
{
"rules": {
".read": true,".write": true
}
}
代码:
def updateFireBase(updated: WxResponseString,symbol: String): Future[Unit] ={
println("start")
try{
val options = FirebaSEOptions.builder.setCredentials(GoogleCredentials.getApplicationDefault)
.setDatabaseUrl("https://xxxxxxxxxx.firebaseio.com/").build
val app: FirebaseApp =FirebaseApp.initializeApp(options)
println(app.getoptions.getDatabaseUrl)
val ref = FirebaseDatabase.getInstance.getReference
val symbolRef = ref.child("ticker/" + symbol.toLowerCase())
println(symbolRef.toString)
return Future{
println("this is start")
symbolRef.setValueAsync(updated.last).get() // gets stuck here forever
println("this is end !!!!!!!!!!!!!")
}
} catch {
case e:Exception => {
logger.error("err",e)
}
}
Future.successful()
}
println("this is start")
已执行,但 println("this is end !!!!!!!!!!!!!")
未执行。我已经检查了 db url 是否正确,并通过调用 get 确保线程被阻止。
我解决了 JavaEE and Firebase admin sdk - setValueAsync not pushing data to realtime firebase 和其他问题,但没有帮助。
我也用 setValue
尝试了相同的代码,但从未调用过它的回调。
解决方法
你能不能这样试试:
library(dplyr)
setdiff(df1,df2)
setdiff(df2,df1)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。