ライフサイクルが短いリアルタイムデータを含むmongodbコレクションがあります。必要なときは、見つけたら削除したいのですが、
モルヒネラッパーを使用した擬似コードは次のとおりです。
for(LogEntity log: mongo.find(LogEntity.class, "grabMe", true)){
mongo.delete(mongo.createQuery(LogEntity.class).filter("logId", log.id));
//Do work and dispose the log
}
私はこれについていくつかのテストを実行していますが、これはGoogle GCMの一部であるため、重い負荷をシミュレートするのは非常に困難です。
これは、2秒ごとRunnable
に供給されるで実行されています。ScheduledExecutorService
scheduleAtFixedRate
これはうまくいくのでしょうか、それともこれを行うためのより良い方法がありますか?find()
この状況でどのように機能していますか。find()の内部配列を削除して、混乱させますか?たくさんLogEntity
あると記憶に残りません。