Mongodb 我应该使用Reactivemongo驱动程序在Scala中创建singleton MongoDriver对象吗?

Mongodb 我应该使用Reactivemongo驱动程序在Scala中创建singleton MongoDriver对象吗?,mongodb,scala,reactivemongo,Mongodb,Scala,Reactivemongo,我有下面的singleton对象,它有一个名为connect的静态方法,该方法返回一个DB连接。在经典的同步编程中,我相信您只需要一个连接实例,但这似乎与reactiveMongo驱动程序的异步模型不一致,后者使用底层的Actor(Akka)模型 然而,似乎发生在我身上的是,MyMongoDriver的一个实例被实例化,然后每次调用connect时都会返回多个(根据需要)连接?我不认为我只是介绍了阻塞,或者我有吗?如果reactivemongo是被动的,那么我怀疑剩下的异步行为仍然会在设计中发生

我有下面的singleton对象,它有一个名为connect的静态方法,该方法返回一个DB连接。在经典的同步编程中,我相信您只需要一个连接实例,但这似乎与reactiveMongo驱动程序的异步模型不一致,后者使用底层的Actor(Akka)模型


然而,似乎发生在我身上的是,MyMongoDriver的一个实例被实例化,然后每次调用connect时都会返回多个(根据需要)连接?我不认为我只是介绍了阻塞,或者我有吗?如果reactivemongo是被动的,那么我怀疑剩下的异步行为仍然会在设计中发生。有更好的方法处理连接吗

如“MongoDriver实例管理参与者系统;连接管理连接池。通常,MongoDriver或MongoConnection的实例化次数不会超过一次。”

必须使用@Singleton来创建Mongodb驱动程序Singleton


请阅读此UserDAOMongo作为示例,

谢谢,我已经阅读了文档。我的问题是,我想我应该应用单例模式,还是为我解决这个问题,这在文档中并不清楚。我的直觉是,它已经被处理好了,我可以不用自己的单例样板文件就直接使用驱动程序吗?请参见
示例
使用
注入器
   object MyMongoDriver  {



    def connect(uri: String) {



      val driver = new MongoDriver 
      val connection: Try[MongoConnection] =  
        MongoConnection.parseURI(uri).map {
          parsedURI => driver.connection(parsedURI) 
      }



  }
}