Devi dare un'occhiata a "WriteConcern ", ha tutti i comportamenti di cui hai bisogno.
Puoi usarlo per una scrittura così:
coll.insert(dbObj, WriteConcern.SAFE);
Se usi WriteConcern.SAFE, la tua operazione attenderà un riconoscimento dal server primario, quindi se non viene sollevata alcuna eccezione, allora sei a posto.
Oppure puoi impostare un comportamento predefinito per tutte le operazioni di scrittura quando crei MongoClient:
MongoClientOptions.Builder builder = new MongoClientOptions.Builder();
builder.writeConcern(WriteConcern.JOURNAL_SAFE);
MongoClient mongoClient = new MongoClient(
new ServerAddress("localhost"), builder.build());
[Basato sul commento di Colin Morelli] Se non utilizzi un WriteConcern che solleva eccezioni, puoi utilizzare WriteResult.getLastError() per determinare se ha avuto successo o meno. Allo stesso modo, se usi WriteConcern.SAFE e la scrittura riesce, WriteResult avrà informazioni utili su di esso come il numero di record che sono stati scritti.
Qui puoi leggere su WriteConcern in general .