Mongodb 2.0.1问题

时间:2011-12-02 17:34:27

标签: java mongodb mongo-java

MongoDB版本2.0.1存在问题。我已经在Ubuntu上安装了它 机器是32位。我可以通过命令连接到它 提示,但无法通过Java代码连接到它。这个代码相同 曾经使用较旧的MongoDB版本。我得到以下内容 异常。

    Caused by: com.mongodb.MongoInternalException: DBPort.findOne failed
       at com.mongodb.DBPort.findOne(DBPort.java:153)
       at com.mongodb.DBPort.runCommand(DBPort.java:159)
       at com.mongodb.DBTCPConnector.testMaster(DBTCPConnector.java:369)
       at com.mongodb.Mongo.<init>(Mongo.java:140)
       at
com..bean.MongoCollectionPoolBean.init(MongoCollectionPoolBean.java:
42)
       at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
       at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:
57)
       at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:
43)
       at java.lang.reflect.Method.invoke(Method.java:616)
       at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeCustomInitMethod(AbstractAutowireCapableBeanFactory.java:
1544)
       at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:
1485)
       at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:
1417)
       ... 24 more
        Caused by: java.io.IOException: couldn't connect to
    [domU-12-31-39-0B-26-01/67.265.65.132:27017]
    bc:java.net.ConnectException: Connection timed out
           at com.mongodb.DBPort._open(DBPort.java:205)
           at com.mongodb.DBPort.go(DBPort.java:85)
           at com.mongodb.DBPort.findOne(DBPort.java:145)
           ... 35 more

当我尝试使用我的本地系统重现同样的问题时(Mac Lion     64位)它工作正常。当我看到这里的服务器日志是我所看到的     我的本地系统:

[clientcursormon] mem(MB)res:14 virt:2434 mapped:0

和Ubuntu(它不工作的地方)

[clientcursormon] mem(MB)res:14 virt:86 mapped:0

1 个答案:

答案 0 :(得分:0)

如果你的应用程序在同一个盒子上连接到mongodb,那么使用127.0.0.1,这样当你的亚马逊实例改变IP地址时它就不会中断。 通常,最好使用通过/ etc / hosts或dns指向IP的主机名。 如果仍然无法正常工作,请确保您可以从本地终端执行“telnet localhost 27017”。 如果无法连接,则mongodb未在该端口上运行,或者您有防火墙。