在我的应用程序中,我正在调用
GridFSDBFile f = gfs.findOne (new ObjectId(gridId))
这通常会返回一个之前通过调用创建的有效文件
GridFSInputFile gridFile = gfs.createFile(someFile.getBytes())
gridFile.save()
但有时它返回 null。所以我把它放在一个while循环中
while (!f)
{
f = gfs.findOne(new ObjectId(gridId))
Thread.sleep(200)
}
这将在大约 400 毫秒后的第二次调用后返回一个有效文件。我做错了什么还是在创建文件到您可以访问它的时间后可能会有延迟?