Você precisa dar uma olhada em "WriteConcern ", tem todos os comportamentos que você precisa.
Você pode usá-lo por uma gravação assim:
coll.insert(dbObj, WriteConcern.SAFE);
Se você usar WriteConcern.SAFE, sua operação aguardará uma confirmação do servidor primário, portanto, se nenhuma exceção for lançada, tudo bem.
Ou você pode definir o comportamento padrão para todas as operações de gravação quando você está criando o MongoClient:
MongoClientOptions.Builder builder = new MongoClientOptions.Builder();
builder.writeConcern(WriteConcern.JOURNAL_SAFE);
MongoClient mongoClient = new MongoClient(
new ServerAddress("localhost"), builder.build());
[Com base no comentário de Colin Morelli] Se você não usar um WriteConcern que gera exceções, poderá usar o WriteResult.getLastError() para determinar se foi bem-sucedido ou não. Da mesma forma, se você usar WriteConcern.SAFE e a gravação for bem-sucedida, WriteResult terá informações úteis sobre ele, como o número de registros que foram gravados.
Aqui você pode ler sobre WriteConcern em geral .