2011-01-10 34 views
9

Theo tài liệu trình điều khiển Java MongoDB, việc kết nối cơ sở dữ liệu được xử lý một cách kỳ diệu bởi đối tượng Mongo. Điều này có nghĩa là an toàn để tạo ra một thể hiện của một đối tượng đơn lẻ kết nối với cơ sở dữ liệu MongoDB trong một servlet sẽ chạy khi Tomcat khởi động và không lo lắng về việc cấu hình kết nối cơ sở dữ liệu gộp trong Tomcat thông qua context.xml không? Không.MongoDB Kết nối cơ sở dữ liệu Java Driver pooling với Tomcat

Đây có phải là cách thích hợp để suy nghĩ về điều đó không? Tôi có hiểu lầm một số khái niệm cơ bản về kết nối cơ sở dữ liệu của Tomcat/pooling nói chung không?

+0

Cảm ơn anaon Tôi có cùng một câu hỏi nhưng bạn đã diễn đạt nó tốt hơn nhiều so với tôi. – DevilCode

Trả lời

9

Chúng tôi đã sử dụng trình điều khiển Java thông qua dự án CFMongoDB và chúng tôi sử dụng nó như bạn mô tả, nhưng trong ứng dụng ColdFusion thay vì trong Java. Mặc dù vậy, ý tưởng tương tự: một đối tượng được tạo và chúng tôi sử dụng lại nó và đối tượng đó duy trì kết nối đến máy chủ Mongo.

Bạn có thể tạo một cá thể Java Mongo và nó sẽ duy trì một nhóm kết nối nội bộ (kích thước mặc định là 10) - cho bạn bị ẩn và bạn không cần phải lo lắng về nó. Các tài liệu Mongo Java khuyên này:

http://www.mongodb.org/display/DOCS/Java+Driver+Concurrency

Chúng tôi có nó chạy trong sản xuất hiện nay và đã có không có vấn đề. Nhiều chủ đề yêu cầu web sử dụng cùng một cá thể Mongo và Mongo đủ nhanh để giải quyết vấn đề này bằng cách sử dụng hồ bơi bên trong (chúng tôi đang ghi nhật ký để có thể viết rất nhanh!).

Điều đáng ghi nhớ để gọi close() trên bất kỳ trường hợp mà bạn đã kết thúc - điều này sẽ ngăn chặn các kết nối quen lên trên máy chủ Mongo theo thời gian:

http://api.mongodb.org/java/2.5-pre-/com/mongodb/Mongo.html#close()

Vì vậy, trong Tóm lại, don đừng lo lắng về việc cấu hình Tomcat.

Hy vọng điều đó sẽ hữu ích!

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