2012-01-23 26 views
6

Estoy usando el controlador de Java para acceder a mongodb. Supongo que la agrupación de conexiones db es manejada internamente por el controlador. Pero mi número de conexiones aumenta cada vez que accedo a db.mongodb connection pooling

Este es mi registro serverStatus.

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

¿Necesito cerrar en forma genérica las conexiones de mongo? ¿Cómo debo gestionar la agrupación de conexiones en Java?

+0

posible duplicado de [base de datos del controlador de la agrupación de conexiones MongoDB Java? con Tomcat] (http: // stackoverflow .com/questions/4647636/mongodb-java-driver-base de datos-conexión-agrupación-con-tomcat) – fyr

Respuesta

17

Debe usar un solo objeto Mongo, por lo que le servirá para agruparlo. Sin embargo, si usa varios objetos, debe llamar al .close() explícitamente.

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

La clase Mongo está diseñado para ser seguro para subprocesos y se reparten entre hilos. Normalmente, solo crea 1 instancia para un clúster de DB dado y lo usa en su aplicación. Si por alguna razón decide crear muchos intances mongo, observe que:

todos los límites de uso de recursos (conexiones max, etc.) se aplican por mongo ejemplo, para disponer de una instancia, asegúrese de llamar mongo.close() para limpiar los recursos