MongoDB
 sql >> Base de Dados >  >> NoSQL >> MongoDB

MongoDB:java.lang.IllegalStateException:o estado deve ser:aberto


Tente definir a opção maxConnectionIdleTime em seu MongoClientOptions (especialmente se você estiver usando um ambiente MongoDB hospedado)

Exemplo:
    new MongoClientOptions.Builder()
    .requiredReplicaSetName(REPLICASET_NAME)
    .maxConnectionIdleTime (MAX_IDLE_TIME)
    .connectionsPerHost(CONNECTION_PER_HOST)
    .cursorFinalizerEnabled(false)
    .build();

connectTimeout é enganoso, pois é a configuração de tempo limite para a conexão inicial.

Para o problema em torno da reinicialização do MongoClient, certifique-se de que o código do cliente esteja no escopo correto para que o código de inserção seja selecionado. Além disso, eu só vejo o db e não o objeto de nível de coleção (com proxy?) sendo reinicializado.