如果我的MongoDB DAO请求唯一的DB对象



我正在使用标准的MongoDB Java驱动程序来滚动我自己的DAO。我知道我的所有DAO都可以共享同一个Mongo实例,但我的所有访问同一数据库的DAO是否应该共享同一DB对象,或者是否有充分的理由请求新的DB对象?

谢谢!

如果对您来说实用的话,您可以使用Mongo类、DB类和DBCollection类的共享实例。你是否想从设计的角度来看,这取决于你自己。我肯定会使用Mongo实例作为singleton,因为它们的重量相对较重(有自己的线程池等)

共享Mongo对象的"好理由"是内置的连接池。如果在DAO之间共享Mongo对象实例是不现实的,那么(在我看来)创建新实例是一个很好的理由。如果它是实用的,那么你应该分享它。

请记住,在使用完Mongo实例后,应该使用.close(),以防止留下打开的连接。

相关内容

最新更新