0

根据mongodb java concurrency driver,我们可以将一个实例MongoClient用于多个线程,例如在应用程序服务器中。我知道这样做的唯一方法是MongoClient在静态块中创建:

static {
    MongoClient mongoClient = new MongoClient("localhost", 27017);
}

问题是我无法捕捉MongoException并返回一些有用的信息给用户。MongoClient那么如何在 Java EE 应用服务器内部的多个线程之间共享单个实例呢?

4

1 回答 1

1

您可以执行以下操作之一:

  1. 创建服务类并在第一次请求时懒惰地启动mongo连接,失败时显示错误
  2. 添加一个 try catch 并静态记住错误(我真的不喜欢这个!但比在静态上下文中因异常失败更好)
  3. 使用spring初始化mongo(我的首选)
于 2013-03-01T08:23:42.303 回答