У меня есть следующий одноэлементный объект, который имеет статический метод, называемый connect, который возвращает соединение с БД. В классическом синхронном программировании я считаю, что вам нужен только один экземпляр соединения, однако это кажется несовместимым с асинхронной моделью драйвера reactiveMongo, который использует базовую модель Актера (Akka).
object MyMongoDriver {
def connect(uri: String) {
val driver = new MongoDriver
val connection: Try[MongoConnection] =
MongoConnection.parseURI(uri).map {
parsedURI => driver.connection(parsedURI)
}
}
}
Что, кажется, происходит со мной, так это то, что создается один экземпляр MyMongoDriver, а затем каждый раз при вызове соединения возвращается несколько (столько, сколько необходимо) соединений? Я не думаю, что только что ввел блокировку, или нет? Я подозреваю, что остальная часть асинхронного поведения продолжает происходить по дизайну, учитывая, что reactivemongo является реактивным. Есть ли лучший способ обработки соединений?
example
, используяinjector
. - person cchantep   schedule 15.07.2015