sql >> Database >  >> NoSQL >> MongoDB

Hoe vang ik een MongoSecurityException op?

Je kunt MongoSecurityException niet vangen omdat het in een achtergrondthread wordt gegooid.

U kunt wachten tot een MongoTimeoutException 'synchroon' afhandelt:

  MongoClientOptions clientOptions = new MongoClientOptions.Builder().serverSelectionTimeout(500).build();
    mongoClient = new MongoClient(serverAddress, Collections.singletonList(credential), clientOptions);
    try {
        String address = mongoClient.getConnectPoint();
        System.out.println(address);
    }catch (Throwable e){
        System.out.println(e);
    }

Of u kunt een ServerListener implementeren en asynchroon afhandelen

{ 
MongoClientOptions clientOptions = new MongoClientOptions.Builder().addServerListener(this).build();
mongoClient = new MongoClient(host1, Collections.singletonList(credential), clientOptions);
}

@Override
public void serverDescriptionChanged(ServerDescriptionChangedEvent event) {
    Throwable exception = event.getNewDescription().getException();
    handle(exception);
}



  1. Foutbericht van MongoDB Operatie 'disneys.insertOne()' buffering time-out na 10000ms

  2. Een prestatie-spiekbriefje voor MongoDB

  3. mongodb:gebruik geneste documenten of aparte collecties met referenties

  4. Verbinding geweigerd voor Redis op Heroku