Java中使用MongoDB连接池的注意事项

1Mongo对象

内部实现了一个连接池。Mongo对象是线程安全的,因此可以只创建一个,在多线程环境下安全使用。因此,我们可以用将Mongo变量作为一个Singleton类的成员变量,从而保证只创建一个连接池。Mongo.close方法将关闭当前所有活跃的连接。所以要在web工程被从Tomcat或者GlassFish容器中注销的时候确保调用close方法。

 

2.DB对象

DB对象可以通过Mongo.get方法获得,代表了和数据库的一个连接。默认情况下,当执行完数据库的查询或者更新操作后,连接将自动回到连接池中。不需要我们手动调用代码放回池中。至于如何实现,我猜测是update,query,save方法内部有finally块,那里面有还连接到池中的代码。

 

3.手动还连接入池

DB对象也允许在一个连接上执行多个操作

DB db...;  
db.requestStart();  
  
 //your java code
  
db.requestDone();

 

requestStart 会让连接自动回收失效,应此需要手动执行requestDone()

你可能感兴趣的:(Java中使用MongoDB连接池的注意事项)