【发布时间】:2016-01-30 19:03:17
【问题描述】:
我正在使用以下代码:
package common;
import com.mongodb.MongoClient;
import com.mongodb.ServerAddress;
import org.mongodb.morphia.Datastore;
import org.mongodb.morphia.Morphia;
import play.GlobalSettings;
import java.util.Arrays;
public class Global extends GlobalSettings {
private static Datastore datastore;
public static Datastore getDatastore() {
return datastore;
}
@Override
public void onStart(play.Application config) {
super.beforeStart(config);
int mongoPort = config.configuration().getInt("mongo.port");
MongoClient mongoClient = new MongoClient(Arrays.asList(
new ServerAddress(config.configuration().getString("mongo.server1"), mongoPort)));
Morphia morphia = new Morphia();
datastore = morphia.createDatastore(mongoClient, config.configuration().getString("mongo.db"));
datastore.ensureIndexes();
}
}
我正在调用getDatastore()方法:
public void save() {
Global.getDatastore().save(this);
}
但它会在return datastore 行上引发空指针异常。当我将调试点放在onStart 方法上时,它甚至没有被调用。
我在这里做错了什么?
【问题讨论】:
-
我们说的是哪个版本的游戏?
标签: java mongodb playframework playframework-2.0 morphia