【发布时间】:2012-12-21 17:23:06
【问题描述】:
我正在尝试在 Java Web 服务中使用 MongoDB。
按照 Mongo 教程中的建议,我应该有一个 MongoClient,让它成为 dbInstance、连接池并调用 dbinstance 以连接到位于 localhost 中的数据库。
这就是我所拥有的:
private static MongoClient dbInstance = null;
public static DB getDBInstance() {
if (dbInstance == null) {
try {
dbInstance = new MongoClient();
registerShutdownHook();
}
catch (Exception exc) {
System.out.println("Exception");
}
}
return dbInstance.getDB("SAED");
}
我不明白的是,如果我连接到数据库,我怎么能理解,因为 il mongo 也不起作用(通过启动 mongod 服务)它不会引发异常。
还有一个问题,我有多个线程调用 Class.getDBInstance,我应该同步它吗?如果是,我该怎么做?
【问题讨论】:
-
您在 Java 应用程序中使用 Spring 吗?如果是这样,您可以定义一个 MongoTemplate 并将其注入您需要连接的任何地方(保存文档、搜索集合等)。看看 SpringData。
-
不,我没有使用框架。
-
这是你无法改变的吗?它们旨在让您的世界不再那么痛苦;)
-
我应该使用什么框架?
-
我想这取决于您的情况,但是 Spring 是一种广泛采用的选择。您可以在我在这里创建的一个小 REST 应用程序中看到 Spring 数据/MongoTemplate 使用示例:github.com/jameselsey/restful-mongo
标签: java mongodb mongodb-java