内部实现了一个连接池。Mongo对象是线程安全的,因此可以只创建一个,在多线程环境下安全使用。因此,我们可以用将Mongo变量作为
1.Mongo对象
内部实现了一个连接池。Mongo对象是线程安全的,因此可以只创建一个,在多线程环境下安全使用。因此,我们可以用将Mongo变量作为一个Singleton类的成员变量,从而保证只创建一个连接池。Mongo.close方法将关闭当前所有活跃的连接。所以要在web工程被从Tomcat或者GlassFish容器中注销的时候确保调用close方法。
2.DB对象
DB对象可以通过Mongo.get方法获得,代表了和数据库的一个连接。默认情况下,当执行完数据库的查询或者更新操作后,连接将自动回到连接池中。不需要我们手动调用代码放回池中。至于如何实现,,我猜测是update,query,save方法内部有finally块,那里面有还连接到池中的代码。
3.手动还连接入池
DB对象也允许在一个连接上执行多个操作
requestStart 会让自动还连接入池失效,因此必须确保requestDone一定能够被调用。这里应该用finally块会更严密一些。
实现了Lazy loading的Singleton模式,里面的成员变量Mongo mongo因此只会实例化一次。注意连接池大小和重连设置。
【相关推荐】
2. MongoDB(六)java操作mongodb增删改查
3. 分享利用Spring Boot开发Restful程序的实例教程
4. 详解spring中使用Elasticsearch的实例教程
Atas ialah kandungan terperinci 详解MongoDB Java 连接应该注意的问题. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!