我在java中遇到mongoDB连接问题,这是我的连接类
public MongoDbUtil() {
try {
System.out.println("1");
String host = "127.0.0.1" ;
String dbName = "m_prod" ;
int port =27017 ;
System.out.println("2");
Mongo m = new Mongo();
System.out.println("3");
ds = new Morphia().createDatastore(m,dbName);
System.out.println("4");
ds.ensureIndexes();
System.out.println("5");
ds.ensureCaps();
System.out.println("1");
} catch(Exception e) {
System.out.println("catch");
}finally{
System.out.println("finally");
System.out.println(ds==null);
} }
只打印1和2,之后'finally'打印也'ds'为空,没有任何异常发生('catch'不打印)
Mongo服务器启动并运行,我可以从命令提示符(Linux)访问,其他有趣的是,当我通过单元测试功能调用此方法时,它的工作正常,但对于上述所有其他情况,问题发生了什么,是原因?
谢谢
答案 0 :(得分:3)
Mongo()
,您应该使用MongoClient()
- 请参阅http://api.mongodb.org/java/2.11.0/com/mongodb/Mongo.html#Mongo() 答案 1 :(得分:1)
如果你正在使用3.0驱动程序,那么有一个驱动程序兼容层可以帮助你过渡。不过,你真的应该使用新的API。