2011-11-05 5 views
0

MongoDb를 데이터베이스로 사용하여 Resteasy 서비스를 구축 중입니다. 몽고 드라이버를 사용하여MongoDb + Java 드라이버에 이상한 오류가 발생했습니다.

public List<DBObject> getAllUsers() throws UnknownHostException, MongoException, FileNotFoundException{ 
    Mongo mongo = new Mongo("localhost"); 
    DBCollection collection = mongo.getDB("eid_security_dev").getCollection("users"); 
    DBCursor cur = collection.find(); 
    List<DBObject> result = new ArrayList<DBObject>(); 
    while (cur.hasNext()){ 

     result.add(cur.next()); 
    } 
    return result; 
} 

: 어떤 DB가 액세스

07:20:15,060 WARNING [com.mongodb.tcp] (http--0.0.0.0-8000-1) Exception determining maxBSON size using0: java.io.IOException: couldn't connect to [eid/67.215.65.132:27017] bc:java.net.ConnectException: Connection timed out 
    at com.mongodb.DBPort._open(DBPort.java:228) [mongo-2.7.0.jar:] 
    at com.mongodb.DBPort.go(DBPort.java:112) [mongo-2.7.0.jar:] 
    at com.mongodb.DBPort.go(DBPort.java:93) [mongo-2.7.0.jar:] 
    at com.mongodb.DBPort.findOne(DBPort.java:146) [mongo-2.7.0.jar:] 
    at com.mongodb.DBPort.runCommand(DBPort.java:157) [mongo-2.7.0.jar:] 
    at com.mongodb.DBTCPConnector.fetchMaxBsonObjectSize(DBTCPConnector.java:457) [mongo-2.7.0.jar:] 
    at com.mongodb.DBTCPConnector.checkMaster(DBTCPConnector.java:444) [mongo-2.7.0.jar:] 
    at com.mongodb.DBTCPConnector.call(DBTCPConnector.java:209) [mongo-2.7.0.jar:] 
    at com.mongodb.DBApiLayer$MyCollection.__find(DBApiLayer.java:305) [mongo-2.7.0.jar:] 
    at com.mongodb.DBCursor._check(DBCursor.java:369) [mongo-2.7.0.jar:] 
    at com.mongodb.DBCursor._hasNext(DBCursor.java:498) [mongo-2.7.0.jar:] 
    at com.mongodb.DBCursor.hasNext(DBCursor.java:523) [mongo-2.7.0.jar:] 
    at eid.ariel.TestService.getAllUsers(TestService.java:39) [classes:] 
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [:1.6.0_22] 
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) [:1.6.0_22] 
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) [:1.6.0_22] 
    at java.lang.reflect.Method.invoke(Method.java:616) [:1.6.0_22] 
    at org.jboss.resteasy.core.MethodInjectorImpl.invoke(MethodInjectorImpl.java:140) [resteasy-jaxrs-2.2.1.GA.jar:] 
    at org.jboss.resteasy.core.ResourceMethod.invokeOnTarget(ResourceMethod.java:255) [resteasy-jaxrs-2.2.1.GA.jar:] 
    at org.jboss.resteasy.core.ResourceMethod.invoke(ResourceMethod.java:220) [resteasy-jaxrs-2.2.1.GA.jar:] 
    at org.jboss.resteasy.core.ResourceMethod.invoke(ResourceMethod.java:209) [resteasy-jaxrs-2.2.1.GA.jar:] 
    at org.jboss.resteasy.core.SynchronousDispatcher.getResponse(SynchronousDispatcher.java:519) [resteasy-jaxrs-2.2.1.GA.jar:] 
    at org.jboss.resteasy.core.SynchronousDispatcher.invoke(SynchronousDispatcher.java:496) [resteasy-jaxrs-2.2.1.GA.jar:] 
    at org.jboss.resteasy.core.SynchronousDispatcher.invoke(SynchronousDispatcher.java:119) [resteasy-jaxrs-2.2.1.GA.jar:] 
    at org.jboss.resteasy.plugins.server.servlet.ServletContainerDispatcher.service(ServletContainerDispatcher.java:208) [resteasy-jaxrs-2.2.1.GA.jar:] 
    at org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher.service(HttpServletDispatcher.java:55) [resteasy-jaxrs-2.2.1.GA.jar:] 
    at org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher.service(HttpServletDispatcher.java:50) [resteasy-jaxrs-2.2.1.GA.jar:] 
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:847) [jboss-servlet-api_3.0_spec-1.0.0.Final.jar:1.0.0.Final] 
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:329) [jbossweb-7.0.1.Final.jar:7.0.2.Final] 
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:248) [jbossweb-7.0.1.Final.jar:7.0.2.Final] 
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:275) [jbossweb-7.0.1.Final.jar:7.0.2.Final] 
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:161) [jbossweb-7.0.1.Final.jar:7.0.2.Final] 
    at org.jboss.as.web.security.SecurityContextAssociationValve.invoke(SecurityContextAssociationValve.java:139) [jboss-as-web-7.0.2.Final.jar:7.0.2.Final] 
    at org.jboss.as.web.NamingValve.invoke(NamingValve.java:57) [jboss-as-web-7.0.2.Final.jar:7.0.2.Final] 
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:154) [jbossweb-7.0.1.Final.jar:7.0.2.Final] 
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) [jbossweb-7.0.1.Final.jar:7.0.2.Final] 
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) [jbossweb-7.0.1.Final.jar:7.0.2.Final] 
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:362) [jbossweb-7.0.1.Final.jar:7.0.2.Final] 
    at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:877) [jbossweb-7.0.1.Final.jar:7.0.2.Final] 
    at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:667) [jbossweb-7.0.1.Final.jar:7.0.2.Final] 
    at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:952) [jbossweb-7.0.1.Final.jar:7.0.2.Final] 
    at java.lang.Thread.run(Thread.java:679) [:1.6.0_22] 

코드를 :

그것은 내 맥에 있지만, 테스트 서버의 페도라 15에 완벽하게 작동

, 그것은 다음과 같은 오류가 발생합니다 2.7.0 및 mongodb 서버 2.0.0

답변

1
java.io.IOException: couldn't connect to [eid/67.215.65.132:27017] bc:java.net.ConnectException: Connection timed out 

DB 클라이언트가 Mo에 연결할 수없는 것 같습니다. ngoDB 서버. 몇 가지 조사하기 :

  • 은 DB 서버가 정상 작동하는지 확인합니다.

  • mongo 쉘을 사용하여 MongoDB 서버가 완벽하게 작동하는지 확인하십시오.

  • 67.215.65.132은 공용 IP 주소입니다. localhost은 일반적으로 주소가 127.0.0.1 또는 이와 유사한 루프백 인터페이스로 확인되어야합니다. 공용 IP를 사용하면 DB 서버 포트에 대한 액세스를 차단하는 방화벽 규칙이 있음을 암시 할 수 있으므로 127.0.0.1을 직접 사용해보십시오. 거부되는 대신 연결 시간이 초과되면이 시나리오가 발생할 확률이 높습니다.

+0

DB가 실행 중이며 mongo 셸이 정상적으로 작동하고 있습니다. 127.0.0.1은 동일한 결과를 제공합니다. 나는 67.215.65.132가 어디서 왔는지 모르겠다. ( –

+0

전체 서버를 다시 설치하고이 시간에 127.0.0.1을 사용하면 오류가 사라진다. –

0

See here. 예를 들어, 알 수없는 호스트에 대해이 IP를 반환하는 OpenDNS를 사용하고 있습니다.

관련 문제