配置文件inb mongoDB

时间:2013-07-09 09:35:51

标签: java spring hibernate mongodb morphia

我有问题

我正在使用jelastic来托管java和mongoDB应用。而且我的应用程序与他们的Jelasctic提供的mongoDB之间的连接存在问题。

他们的配置文件如下所示:


公共类MongoManager {

static String host, dbname, user, password;

public void addData(int repeats) {
    try {
        DBCollection dbc = null;

        Properties prop = new Properties();
        prop.load(new FileInputStream(System.getProperty("user.home") + "/mydb.cfg"));

        host = prop.getProperty("host").toString();
        dbname = prop.getProperty("dbname").toString();
        user = prop.getProperty("user").toString();
        password = prop.getProperty("password").toString();

        System.out.println("host: " + host + "\ndbname: " + dbname + "\nuser: " + user + "\npassword: " + password);

        Mongo m = new Mongo(host, 27017);
        DB db = m.getDB(dbname);

        if (db.authenticate(user, password.toCharArray())) {
            System.out.println("Connected!");
        } else {
            System.out.println("Connection failed");
        }

        try {
            db.getCollection("mycollection");
        } catch (Exception e) {
            db.createCollection("mycollection", null);
        } finally {
            System.out.println("Repeats: " + repeats);
            for (int i = 1; i <= repeats; i++) {
                BasicDBObject data = new BasicDBObject("data", new Date());
                db.getCollection("mycollection").save(data);
                System.out.println("INFO: row added " + data);
            }
        }
    } catch (IOException ex) {
    }
}

和我的


公共类MongodbUtil {

private static Mongo mongo = null;
private static Morphia morphia = null;
private static Datastore ds = null;
private MongodbUtil() {};

public static synchronized DB getDB(String str) throws Exception {
    if(mongo == null) {
        mongo = new Mongo();
    }
    return mongo.getDB(str);
}
public static synchronized Mongo getMongo() throws Exception {
    if(mongo == null) {
        mongo = new Mongo("localhost", 27017);
    }
    return mongo;
}
public static synchronized Morphia getMorphia() throws Exception {
    if(morphia == null) {
        mongo = getMongo();
        morphia = new Morphia();
        morphia.mapPackage("com.sogeti.simulator.entity");
    }

    return morphia;
}
public static synchronized Datastore getDataStore(){
    if(ds == null){
        try {
            morphia = getMorphia();
            ds = morphia.createDatastore(mongo, "Simulator");
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
    return ds;
}

是不是同一个文件? 如何将主机中的配置文件属性放入?密码?和其他人?!

我的MongoDB.cfg.xml看起来像这样,但我认为这很糟糕,因为我不使用SPRING OR MAVEN: 我没有在网上看到任何简单的MongoDB.cfg.xml示例。

http://www.springframework.org/schema/beans/spring-beans-3.0.xsd;“&GT;

<dependency>
    <groupId>com.morphia.Morphia</groupId>
    <artifactId>morphia</artifactId>
    <version>0.99</version>
</dependency>

<dependency>
    <groupId>com.mongodb.Mongo</groupId>
    <artifactId>mongo</artifactId>
    <version>2.10.1</version>
</dependency>

1 个答案:

答案 0 :(得分:0)

在我看来,Jelastic社区here提出了类似的问题。 该用户已解决该问题,请注意该主题中提出的建议。