我正进入(状态
com.fasterxml.jackson.databind.exc.InvalidDefinitionException:无法构造 的实例com.ykb.frd.fraudcore.configuration.DatabaseConfiguration,问题:空
读取 YAML 文件时出现异常。并且应用程序一遍又一遍地尝试,直到由于堆栈溢出异常而崩溃
YAML文件:
db:
url: blablablaurl
user: blabla
password: blabla
爪哇:
@JsonIgnoreProperties(ignoreUnknown = true)
public class DatabaseConfiguration {
private Database db;
private static DatabaseConfiguration single_instance = null;
private DatabaseConfiguration() {
db = readYml();
}
public static DatabaseConfiguration getInstance() {
if (single_instance == null)
single_instance = new DatabaseConfiguration();
return single_instance;
}
private final String YML_PATH = //path;
public Database getDb() {
return db;
}
/**
* Read from application.yml
* @return Database object
*/
private Database readYml(){
ObjectMapper mapper = new ObjectMapper(new YAMLFactory());
try {
return mapper.readValue(new File(YML_PATH), DatabaseConfiguration.class).getDb();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return null;
}
}
在readYml()函数内部,无限循环发生在mapper.readValue. 我猜它是关于单例对象的,但我不确定。
调用数据库配置:
private DatabaseConfiguration database = DatabaseConfiguration.getInstance();
谢谢。
holdtom
相关分类