Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/323.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 除非线程被阻止,否则Cloud Firestore写操作不会工作_Java_Firebase_Google Cloud Firestore_Firebase Admin - Fatal编程技术网

Java 除非线程被阻止,否则Cloud Firestore写操作不会工作

Java 除非线程被阻止,否则Cloud Firestore写操作不会工作,java,firebase,google-cloud-firestore,firebase-admin,Java,Firebase,Google Cloud Firestore,Firebase Admin,我正在使用CloudFirebase Java管理API将数据写入Firestore实例 所有将某些数据写入Firestore的方法都会返回一个ApiFuture的实例。现在的问题是,除非我对返回的实例调用get()方法,否则数据不会进入Firestore 对于单数写操作和批处理写操作都存在此问题 我尝试过完全忽略未来,并通过addListener(Runnable,Executor)添加回调。执行回调,但数据不会以任何方式写入 如果我尝试在另一个线程(从调用写入操作的线程)中执行get(),则

我正在使用CloudFirebase Java管理API将数据写入Firestore实例

所有将某些数据写入Firestore的方法都会返回一个
ApiFuture
的实例。现在的问题是,除非我对返回的实例调用
get()
方法,否则数据不会进入Firestore

对于单数写操作和批处理写操作都存在此问题

我尝试过完全忽略未来,并通过
addListener(Runnable,Executor)
添加回调。执行回调,但数据不会以任何方式写入

如果我尝试在另一个线程(从调用写入操作的线程)中执行
get()
,则会抛出
io.grpc.StatusRuntimeException
CANCELLED:io.grpc.Context被取消,但没有错误

另一个有趣的细节是,如果我用
thread.sleep()
阻塞线程足够长的时间(在我的例子中大约3秒),数据就会被正确写入

有人知道是什么导致了这个问题吗


我正在使用5.7.0版的Firebase管理API

您能否编辑您的问题以显示您在每种情况下尝试的实际代码?这将更加清楚。很可能在数据写入后端之前,JVM进程已经退出。在你的代码中是这样的吗?