私のアプリケーションでは、私は呼んでいます
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ミリ秒が経過した後の2回目の呼び出し後に有効なファイルが返されます。私は何か間違ったことをしていますか、それともファイルが作成されてからアクセスできるようになるまでに遅延が発生する可能性がありますか?