2011-06-30 11 views
0

プロパティファイルを使用してMongodbへの接続をパラメータ化しようとしています。プロパティを使用してMongodbへの接続をパラメータ化する

私は、この機能を追加しました:

public static Properties load(String filename) throws IOException, FileNotFoundException{ 
    Properties properties = new Properties(); 

    FileInputStream input = new FileInputStream(filename); 
    try{ 
    properties.load(input); 
    return properties; 
    } 
    finally{ 
    input.close(); 
    } 

} 

と、このコードを使用します。私のconfig.propertiesで

String path = System.getProperty("user.dir") + "/config.properties"; 
    Properties prop = load(path); 

    //System.out.println("key: "+ prop.getProperty("MONGO_HOST")); 


    try { 
//m = new Mongo(config.MONGO_HOST, config.MONGO_PORT); 
    m = new Mongo(prop.getProperty("MONGO_HOST"), config.MONGO_PORT); 
this.db = m.getDB("cloud_datasource"); 
      db.authenticate(config.MONGO_USER, config.MONGO_PASS.toCharArray()); 
    } catch (Exception e) { 
System.out.println("Can't connect to MongoDB"); 
      e.printStackTrace(); 

    } 

MONGO_HOST="192.168.10.84"

問題:このコードで、私はエラーを持っていますjava.net.UnknownHostException: "192.168.10.84" コードを使用している場合:

m = new Mongo("192.168.10.84", config.MONGO_PORT); 

です。

答えて

0

(引用符なし)、これを試してみてください:

MONGO_HOST=192.168.10.84 
+0

はい、それです!私はちょうどテストをした、それはOKだった。 – kozher

0

は(小道具ファイルには、二重引用符を)トマシュが言ったことを確認していません。それでもまだ動作しない場合は、prop.getProperty()を次のようなStringにキャストしてください:

m = new Mongo((String)prop.getProperty("MONGO_HOST"), config.MONGO_PORT); 
+0

[Properties.getProperty()](http://download.oracle.com/javase/6/docs/api/java/util/Properties.html#getProperty(java.lang.String))は既に 'String'を返します。キャストは不要で、コンパイル後にはバイトコードにも現れません。これは基本的にはノーオペレーションです。 –

関連する問題