0

プロパティ ファイルを使用して 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();
  }

}

次のコードを使用します。

    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();

    }

私のconfig.propertiesで:MONGO_HOST="192.168.10.84"

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

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

できます。

4

2 に答える 2

0

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

MONGO_HOST=192.168.10.84
于 2011-06-30T15:03:13.133 に答える
0

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

m = new Mongo((String)prop.getProperty("MONGO_HOST"), config.MONGO_PORT);
于 2011-06-30T15:07:54.517 に答える