Закрыть соединение для Mongodb, используя Casbah API - PullRequest
1 голос
/ 15 февраля 2012

Я не получаю никакой полезной информации о том, «как закрыть соединение для mongodb с помощью API-интерфейса casbah».На самом деле, я определил несколько методов, и в каждом методе мне нужно установить соединение с mongodb.После работы мне нужно закрыть это тоже.Я использую Scala.

один из методов, подобных (пример кода в Scala):

import com.mongodb.casbah.Imports._
import com.mongodb.casbah.MongoConnection

def index ={
  val mongoConn = MongoConnection(configuration("hostname"))
  val log = mongoConn("ab")("log")
  val cursor = log.find()
  val data = for {x <- cursor} yield x.getAs[BasicDBObject]("message").get
  html.index(data.toList)
  //mongoConn.close()  <-- here i want to close the connection but this .close() is not working
}

Ответы [ 2 ]

2 голосов
/ 15 февраля 2012

Непонятно, из твоего вопроса почему именно близко не работает.Выдает ли какое-то исключение, не компилируется или не имеет никакого эффекта?Но так как MongoConnection является тонкой оболочкой над com.mongodb.Mongo, вы можете работать с базовым Mongo напрямую, как в простом старом драйвере Java:

val mongoConn = MongoConnection(configuration("hostname"))
mongoConn.underlying.close()

На самом деле, это именно то, насколько близко реализовано в касбе.

0 голосов
/ 15 февраля 2012

Попробуйте вместо этого использовать .close. Если у функции нет аргументов в scala, вы иногда не используете скобки после нее.

РЕДАКТИРОВАТЬ: у меня была неправильная информация, отредактированная, чтобы включить правильную информацию + ссылку.

...