2011-12-02 173 views
0

我有一个MongoDB版本2.0.1的问题。我已经将它安装在32位的Ubuntu 机器上。我可以通过命令 提示连接到它,但无法通过Java代码连接到它。这个代码 用于处理较早的MongoDB版本。我得到以下 异常。MongoDB 2.0.1问题

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 

当我试图用我的本地系统(苹果狮子 64位)重现同样的问题,它工作正常。当我看到服务器日志下面是我对 看到我的本地系统:

[clientcursormon] MEM(MB)RES:14的virt:2434映射:0

,并在Ubuntu(它不工作)

[clientcursormon] MEM(MB)RES:14的virt:86映射:0

+1

你确定MongoDB服务器的IP地址(67.265.65.132)是否正确?你有运行阻止网络流量的防火墙吗? – Jesper

+0

它是在本地主机上,是的,这是正确的 – Rahul

+1

我不是一个Java人,但共同的想法会决定,也许驱动程序也需要更新以及?您可以检查您的MongoDB当前包是否与您在服务器上运行的升级兼容? – DeaconDesperado

回答

0

如果应用程序正在连接到的MongoDB在同一框,然后用127.0.0.1,使得它不破坏当你的亚马逊实例更改IP地址。 通常,最好使用通过/ etc/hosts或dns指向IP的主机名。 如果这仍然不起作用,请确保您可以从本地终端执行“telnet localhost 27017”。 如果无法连接,那么mongodb不在该端口上运行,或者您有防火墙。