2011-01-10 11 views
9

Zgodnie z dokumentacją sterownika Java MongoDB, łączenie połączeń z bazą danych jest w magiczny sposób obsługiwane przez obiekt Mongo.MongoDB Połączenie sterownika bazy danych Java z Tomcat

Czy to oznacza, że ​​można bezpiecznie utworzyć wystąpienie pojedynczego obiektu, który łączy się z bazą danych MongoDB w aplecie, który będzie działał po uruchomieniu Tomcat i nie martwi się konfigurowaniem puli połączeń bazy danych w Tomcat za pośrednictwem pliku context.xml?

Czy to właściwy sposób, aby o tym pomyśleć? Czy nie rozumiem zasadniczo podstawowej koncepcji łączenia puli Tomcat/bazy danych?

+0

Dzięki anaon mam to samo pytanie, ale sformułowałeś je znacznie lepiej niż ja. – DevilCode

Odpowiedz

9

Używamy sterowników Java w projekcie CFMongoDB i używamy go zgodnie z opisem, ale w aplikacji ColdFusion, a nie w Javie. Ta sama idea: jeden obiekt jest tworzony, a my ponownie go używamy i ten obiekt utrzymuje jedno połączenie z serwerem Mongo.

Możesz utworzyć jedną instancję Javy Mongo i zachować wewnętrzną pulę połączeń (domyślny rozmiar 10) - dla Ciebie jest ukryta i nie musisz się tym martwić. Docs Mongo Java polecam:

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

Mamy to działa teraz w produkcji i nie było żadnych problemów. Wiele wątków żądań internetowych używa tej samej instancji Mongo, a Mongo jest wystarczająco szybkie, aby poradzić sobie z tym przy użyciu jego wewnętrznej puli (robimy rejestrowanie, aby można było pisać bardzo szybko!).

Warto pamiętać, aby zadzwonić close() o wszelkich przypadkach, które są wykończone - to zatrzyma połączenia przyzwyczaić się na serwerze Mongo w czasie:

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

Tak w skrócie, Don nie martw się konfigurowaniem Tomcat.

Nadzieję, że pomaga!

Powiązane problemy