1

我没有得到任何有关“如何使用 casbah API 关闭 mongodb 连接”的有用信息。实际上,我已经定义了多个方法,并且在每个方法中我都需要与 mongodb 建立连接。工作后我也需要关闭它。我正在使用斯卡拉。

像这样的方法之一(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
}
4

2 回答 2

2

从您的问题来看,尚不清楚为什么完全关闭不起作用。它会抛出一些异常,它没有编译,还是没有效果?但是由于MongoConnection是一个瘦包装器com.mongodb.Mongo,你可以直接使用底层的 Mongo,就像在普通的旧 Java 驱动程序中一样:

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

实际上,这正是在 casbah中实现的接近程度。

于 2012-02-15T16:11:39.503 回答
0

尝试使用 .close 代替。如果函数在 scala 中没有参数,则有时不要在其后使用括号。

编辑:我有错误的信息,已编辑以包含正确的信息+链接。

于 2012-02-15T16:07:51.453 回答