MongoDB
 sql >> Cơ Sở Dữ Liệu >  >> NoSQL >> MongoDB

Cách bắt ngoại lệ khi tạo cá thể MongoClient

Các kết nối máy chủ được tạo trên các luồng daemon. Vì vậy, câu chuyện ngắn là bạn sẽ không thể kiểm tra các lỗi liên quan đến kết nối trong khi tạo Ứng dụng khách Mongo.

Bạn sẽ phải trì hoãn việc kiểm tra kết nối khi tạo cơ sở dữ liệu thực đầu tiên liên quan đến việc đọc hoặc ghi.

Chỉ nhằm mục đích trình diễn để bạn có ý tưởng.

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 từ chuỗi Deamon

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 từ chuỗi chính

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)

Vì vậy, bọc mã trong khối thử bắt với MongoTimeoutException và nó sẽ hoạt động ổn để kiểm tra các lỗi liên quan đến kết nối.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Thư viện BSON cho java?

  2. Cách cập nhật nhiều phần tử mảng trong mongodb

  3. Cách cho phép tất cả các máy chủ lưu trữ trong một bản sao được đặt trong mongodb

  4. Làm cách nào để thay đổi loại trường?

  5. MongoDB findOneAndReplace ()