sql >> Databasteknik >  >> NoSQL >> MongoDB

MongoDB:java.lang.IllegalStateException:tillståndet ska vara:öppet

Prova att ställa in maxConnectionIdleTime-alternativet i dina MongoClientOptions (särskilt om du använder en värd MongoDB-miljö)

Exempel:

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

connectTimeout är missvisande eftersom det är timeout-inställningen för initial anslutning.

För problemet kring återinitiering av MongoClient, se till att klientkoden är i rätt omfattning för att infogningskoden ska kunna hämtas. Dessutom ser jag bara db och inte samlingsnivåobjektet (proxied?) som återinitieras.




  1. Hur får man alla nycklar som matchar ett specifikt mönster från en hash i redis?

  2. Returnera endast matchade underdokumentelement inom en kapslad array

  3. MongoDb C# GeoNear Query Construction

  4. Hur fungerar MongoDB $text-sökning?