MongoDB
 sql >> база данни >  >> NoSQL >> MongoDB

Как да хванете изключение при създаване на екземпляр на MongoClient

Връзките със сървъра се създават на демон нишки. Накратко, няма да можете да проверите свързаните с връзката грешки, докато създавате Mongo Client.

Ще трябва да забавите проверката на връзката си, когато създадете първата си истинска база данни, която включва четене или запис.

Само за демонстрационни цели, за да добиете представа.

MongoClient mongoClient = new MongoClient("127.0.34.1", 89);
DB db = mongoClient.getDB("test");
try {
   db.addUser("user", new char[] {'p', 'a', 's', 's'});
} catch(Exception e) { MongoTimeoutException exception}

MongoSocketOpenException от Deamon Thread

INFO: Exception in monitor thread while connecting to server 127.0.34.1:89
com.mongodb.MongoSocketOpenException: Exception opening socket
at com.mongodb.connection.SocketStream.open(SocketStream.java:63)
at com.mongodb.connection.InternalStreamConnection.open(InternalStreamConnection.java:115)
at com.mongodb.connection.DefaultServerMonitor$ServerMonitorRunnable.run(DefaultServerMonitor.java:116)
at java.lang.Thread.run(Thread.java:745)
Caused by: java.net.ConnectException: Connection refused: connect

MongoTimeoutException от основната нишка

Exception in thread "main" com.mongodb.MongoTimeoutException: Timed out after 30000 ms while waiting for a server that matches ReadPreferenceServerSelector{readPreference=primary}. Client view of cluster state is {type=UNKNOWN, servers=[{address=127.0.34.1:89, type=UNKNOWN, state=CONNECTING, exception={com.mongodb.MongoSocketOpenException: Exception opening socket}, 
caused by {java.net.ConnectException: Connection refused: connect}}]
at com.mongodb.connection.BaseCluster.createTimeoutException(BaseCluster.java:375)

Така че обвийте кода в блока try catch с MongoTimeoutException и ще работи добре за проверка на грешки, свързани с връзката.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Как да използвате MongoDB Connection Pooling на AWS Lambda

  2. MongoDB $trunc

  3. Опции за конфигурация по време на изпълнение на ClusterControl

  4. Как да изпълня MongoDB js скрипт с помощта на Java MongoDriver

  5. Вземете списък с индекси в MongoDB