与java的Mongodb连接问题

时间:2013-07-29 12:31:32

标签: java mongodb morphia

我在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)访问,其他有趣的是,当我通过单元测试功能调用此方法时,它的工作正常,但对于上述所有其他情况,问题发生了什么,是原因?

谢谢

2 个答案:

答案 0 :(得分:3)

    不推荐使用
  1. Mongo(),您应该使用MongoClient() - 请参阅http://api.mongodb.org/java/2.11.0/com/mongodb/Mongo.html#Mongo()
  2. 仍然应该找到弃用的构造函数。你能包括你的文件的导入吗?

答案 1 :(得分:1)

如果你正在使用3.0驱动程序,那么有一个驱动程序兼容层可以帮助你过渡。不过,你真的应该使用新的API。