4

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

谢谢!

4

2 回答 2

2

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

于 2012-01-25T17:06:17.820 回答
1

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

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

于 2012-01-25T16:43:18.570 回答