sql >> Database >  >> NoSQL >> MongoDB

MongoDB:java.lang.IllegalStateException:staat zou moeten zijn:open

Probeer de maxConnectionIdleTime-optie in uw MongoClientOptions in te stellen (vooral als u een gehoste MongoDB-omgeving gebruikt)

Voorbeeld:

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

connectTimeout is misleidend omdat het de time-outinstelling is voor de eerste verbinding.

Voor het probleem rond het opnieuw initialiseren van de MongoClient, moet u ervoor zorgen dat de clientcode zich in het juiste bereik bevindt zodat de invoegcode kan worden opgehaald. Ik zie ook dat alleen de db en niet het object op collectieniveau (proxy?) opnieuw wordt geïnitialiseerd.




  1. Upgrade naar Ubuntu 15.04 vanaf 14.10 breekt mongo - hoe op te lossen?

  2. Mongoose:vul een ingevuld veld in

  3. mangoest om te bepalen dat update-upsert bezig is met invoegen of bijwerken

  4. Waarom kan mijn Redis Lua-script de sleutels op verschillende Redis Cluster-knooppunten niet atomair bijwerken?