2012-01-23 46 views
6

Tôi đang sử dụng trình điều khiển Java để truy cập mongodb. Tôi cho rằng việc kết nối kết nối db được xử lý nội bộ bởi driver.But số kết nối của tôi tăng lên mỗi khi tôi truy cập db.Kết nối tổng hợp mongodb

Đây là nhật ký máy chủ của tôiStatus.

"connections" : { 
      "current" : 276, 
      "available" : 543 
    } 

Tôi có cần đóng kết nối mongo một cách rõ ràng không? làm thế nào tôi nên quản lý kết nối tổng hợp trong java?

+0

thể trùng lặp của [MongoDB Java cơ sở dữ liệu điều khiển kết nối tổng hợp? với Tomcat] (http: // stackoverflow .com/questions/4647636/mongodb-java-driver-cơ sở dữ liệu-kết nối-pooling-với-tomcat) – fyr

Trả lời

17

Bạn nên sử dụng một đối tượng Mongo duy nhất, do đó, nó sẽ làm việc tổng hợp cho bạn. Tuy nhiên, nếu bạn sử dụng nhiều đối tượng, bạn cần gọi số .close() một cách rõ ràng.

Từ: http://www.mongodb.org/display/DOCS/Java+Tutorial

Lớp Mongo được thiết kế để được an toàn và chia sẻ giữa thread. Thông thường, bạn chỉ tạo 1 cá thể cho một cụm DB đã cho và sử dụng nó trên ứng dụng của bạn. Nếu vì một số lý do bạn quyết định tạo nhiều intances Mongo, lưu ý rằng:

tất cả các giới hạn sử dụng tài nguyên (kết nối tối đa, vv) áp dụng cho mỗi Mongo dụ để xử lý một thể hiện, hãy chắc chắn bạn gọi mongo.close() để làm sạch nguồn

Các vấn đề liên quan