2014-04-07 5 views
0

MongoDB를 아주 기본적인 방법으로 Eclipse와 함께 사용하려하지만 제대로 작동하지 않습니다!Eclipse가 포함 된 MongoDB가 예외를 throw하지 않습니까?

내 코드처럼 보이는 다음 (JavaSE-1.6 몽고 - 자바 드라이브-2.12.0-rc0.jar) :이 코드는 이클립스 콘솔에 오류가 표시되지 않습니다

import java.net.UnknownHostException; 

import com.mongodb.MongoClient; 

public class MongoDBProjects { 

public static void main(String[] args) { 

    try { 
     MongoClient mongoClient = new MongoClient("xyz" , 123); 
    } catch (UnknownHostException e) { 
     e.printStackTrace(); 
    } 
    } 

} 

, mongoDB 인스턴스가 xyz에서 실행 중이며 포트 123에서 수신 중이기 때문에 코드는 UnknowHostException을 던져야합니다!

왜 그렇습니까?

감사합니다, 제라드

+0

이 클래스를 실행 중이지만 다른 클래스를 실행하지 않습니까? –

+0

예, ' tables = db.getCollectionNames();'와 같은 줄을 추가하면 예외가 발생합니다 : MongoServerSelectionException! –

답변

2

MongoClient 영구 네트워크 연결을 만들 수 없습니다. 하나가 필요할 때 연결을 만들고 그렇지 않을 때 다시 닫습니다. 실제로 데이터베이스로 작업을 시도하기 전에 네트워크 오류 메시지가 표시되지 않습니다.

MongoClient를 만든 후 실제 응용 프로그램에서 가장 먼저해야 할 일은 데이터베이스와 authenticate을 가져 오는 것입니다. MongoDB가 오프라인 일 때 처음으로 알아 차릴 것입니다.

+0

영구 연결을 강제로 만들 수 없습니까? –

+0

인증은 다음으로 테스트하고 싶은 것입니다! 이 질문에 답하기 위해 고생을 가져 주셔서 감사합니다! –

+0

@ g.verhaag 개별 연결을 제어 할 권한이 없습니다. MongoClient는 연결 풀링을 사용합니다 (동시에 많은 쿼리를 작성하면 자동으로 여러 연결을 병렬로 사용하고 다시 사용합니다). 연결 처리 기능은 응용 프로그램 개발자가 완전히 숨길 수 있습니다. – Philipp

관련 문제