MongoDB
 sql >> Datenbank >  >> NoSQL >> MongoDB

MongoDB:java.lang.IllegalStateException:Zustand sollte sein:offen

Versuchen Sie, die Option maxConnectionIdleTime in Ihren MongoClientOptions festzulegen (insbesondere, wenn Sie eine gehostete MongoDB-Umgebung verwenden)

Beispiel:

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

connectTimeout ist irreführend, da es sich um die Timeout-Einstellung für die anfängliche Verbindung handelt.

Stellen Sie bei dem Problem mit der Neuinitialisierung des MongoClient sicher, dass sich der Clientcode im richtigen Bereich befindet, damit der Einfügungscode erfasst werden kann. Außerdem sehe ich nur die Datenbank und nicht das Sammlungsebenenobjekt (Proxy?), das neu initialisiert wird.