Da documentação do MongoDB:
Por padrão, o MongoDB fechará automaticamente um cursor quando o cliente tiver esgotado todos os resultados no cursor. No entanto, para coleções limitadas, você pode usar um Tailable Cursor que permanece aberto após o cliente esgotar os resultados no cursor inicial.
http://docs.mongodb.org/manual/tutorial/create- tailable-cursor/
Outros fatores que podem causar a expiração de um cursor são batchSize e timeout. Para resumir, os fatores que expiram o cursor são:
- exaustão do resultado
- tamanho do lote :http://docs.mongodb.org/manual/reference/method /cursor.batchSize/
- tempo limite :http://api.mongodb.org/java/2.6/ com/mongodb/MongoOptions.html