gpt4 book ai didi

java - 如何调用play框架全局设置中的onStart方法?

转载 作者:行者123 更新时间:2023-12-01 10:30:51 25 4
gpt4 key购买 nike

我正在使用以下代码:

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

但它在返回数据存储行上引发空指针异常。当我将调试点放在 onStart 方法上时,它甚至没有被调用。

我在这里做错了什么?

最佳答案

你必须设置

application.global=common.Global

在您的application.conf

关于java - 如何调用play框架全局设置中的onStart方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35105818/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com